在ruby和其他语言中,我可以创建一个数组,推送任意数量的字符串,然后加入数组:
ary=[]
...
ary.push some_str
ary.push some_other_str
...
result = ary.join ""
如何在matlab中完成此操作?
用户故事:我的情节图例由可变数量的字符串组成。字符串的数量是运行时确定的,所以我想声明数组,动态添加字符串,然后将数组连接到脚本末尾的图例字符串。
答案 0 :(得分:3)
在MATLAB中,字符串连接发生如下
a = 'ding';
b = 'dong';
c = [a ' ' b]; % Produces 'ding dong'
P.S。 a typeof(c,'char')
在MATLAB中显示为TRUE,因为它将所有字符“连接”到C中。
假设您要从空char
占位符开始。你可以这样做。
a =``; %生成一个0x0大小的空字符。
然后你可以继续添加到它的末尾;像这样:
a = [a 'newly added'] % produces a = "newly added"
要证明它有效,请再次执行此操作:
a = [a ' appended more to the end.'] % produces a = "newly added appended more to the end."
您始终可以使用指向数组最后一个索引的end
关键字,但在这种情况下,您需要附加到end+X
,其中X
是额外的字符数你正在追求(恼人地)。我建议您只使用[]运算符加入/追加。
还有这个strjoin(C, delim)
函数使用C
分隔符(可以是空格或其他)连接字符串的单元delim
。但是我上面展示的那个便宜又脏。