Matlab String当它是String对象时拆分

时间:2017-01-01 20:47:53

标签: string matlab

如果字符串是str1 =' MynameisJohn'那么类似问题的其他答案也有效。在单引号内。例如,str1(1:2)给出了我的'。

但是如果字符串是str1 =" MynameisJohn"使用双引号,上面的用法str1(1:2)不起作用,并给出一个越界错误。在这种情况下,str1的大小只是1乘1矩阵。

在第二种情况下,假设没有空格(如果不能使用分隔符),我如何拆分字符串以获取其中的单词。我们可以假设我的分裂的长度是恒定的。

EDIT 我想我自己找到了答案。 str2 = char(str1)将字符串数组str1转换为字符数组,然后类似的结构str2(1:2)工作。

1 个答案:

答案 0 :(得分:0)

转换为char然后编制索引按照您发布的方式工作。如果你希望结果保持为字符串,另一种提取子字符串的方法是使用提取函数。例如,

str1 = string('MynameisJohn');
substr = extractBefore(str1,3)

substr = 

  string

    "My"

在这种情况下,substr仍然是一个字符串类型。 extractBefore的文档位于https://www.mathworks.com/help/matlab/ref/extractbefore.html