将单元格数组中的字符串转换为数组

2次浏览(过去30天)
它从单元格数组的列中读取一串字符,然后转到下一列并读取该字符串。它把所有这些都放到数组的一个字符串中。
我在很大程度上解决了这个问题,但由于某些原因,它忽略了空格,我不知道为什么。
y =
i = 1:元素个数(x)
(Y, x{i})
结束
例如,{'hello ';'yes'}的输出是'helloyes',而不是'helloyes'。我该如何包含这个间距呢?
因为它不起作用,我想也许是单元格数组的细微差别没有让空格通过,所以我尝试使用char:
y =
i = 1:元素个数(x)
Y = strcat(Y,char(x{i}))
结束
但结果是一样的。
有人能解释一下为什么忽略了空格吗?我能不能对代码进行一点操作,让它不忽略空格,或者我必须改变整个代码?
提前谢谢你:)

接受的答案

沃尔特·罗伯森
沃尔特·罗伯森 2019年7月8日
Strcat()具有这样的属性:它从字符向量参数中删除前导和尾空。它不会对字符向量的单元格数组这样做。例如,strcat('a', ' b ', 'c')和strcat('a', {' b '}, 'c')将产生不同的结果。
1评论
SJ赢得
SJ赢得 2019年7月10日
谢谢,我解出来了。但是在测试了这两行之后,strcat()似乎只删除了后面的空格?
Strcat ('a', ' b ', 'c')输出'abc',而不是'abc'。

登录评论。

更多答案(0)

类别

了解更多字符和字符串帮助中心而且文件交换

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!