String 用Matlab中的新行替换字符串中的\n
我正试图在Matlab中将分隔每一行的字符串单元格数组合并为一个字符串。 以下方法合并字符串,但最终字符串包含\n而不是新行:String 用Matlab中的新行替换字符串中的\n,string,matlab,newline,string-formatting,cell-array,String,Matlab,Newline,String Formatting,Cell Array,我正试图在Matlab中将分隔每一行的字符串单元格数组合并为一个字符串。 以下方法合并字符串,但最终字符串包含\n而不是新行: function str = toString(self) % some not important logic that creates cell array called strings % ... str = ''; for i = 1 : 9 str = strcat(str, str
function str = toString(self)
% some not important logic that creates cell array called strings
% ...
str = '';
for i = 1 : 9
str = strcat(str, strings(i), '\n');
end
end
它返回:'111\n 111\n 111\n333666444555\n333666444555\n333666444555\n 222\n 222\n 222\n'
当我添加str=sprintf(str)代码>在方法结束之前,它返回无效的格式错误。但是,当我写入Matlab命令窗口sprintf('111\n 111\n 111\n 33366644455\n 333666444555\n 333666444555\n 222\n 222\n')代码>返回格式化字符串,没有任何错误
有人知道会有什么问题吗?为什么它在命令窗口中工作而在.m文件中不工作?sprintf将在元素或单元格数组上循环:
sprintf('%s\n', strings{:})
循环的问题是“\n”是2个元素的字符数组,但您需要的是sprintf(“\n”)