How to concatenate an array of numbers without for loop

3 次查看(过去 30 天)
Hi, I have an array of integer numbers A = [1, 2, 3]. I would like to concatenate the numbers for use in SQL statement like '(1, 2, 3)'. How to do that without a for loop? Thanks.

采纳的回答

Stephen23
Stephen23 2018-3-22
>> A = [1,2,3];
>> str = sprintf(', %d',A);
>> str = sprintf('(%s)',str(3:end))
str = (1, 2, 3)

更多回答(1 个)

Guillaume
Guillaume 2018-3-22
A = [1 2 3];
sprintf('(%s)', strjoin(compose('%d', A), ', '))
  3 个评论
Guillaume
Guillaume 2018-3-22
compose was introduced in version R2016b. (You should say in your question if you're several versions behind).
In earlier versions, you can replace compose by the undocumented sprintfc:
sprintf('(%s)', strjoin(sprintfc('%d', A), ', '));
Or use Stephen's method of using sprintf then removing the initial ', '.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 System Composer 的更多信息

标签

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by