0

我正在阅读以下形式的字符串:Text1_Text2_Text3_Text4。我textscan用分隔符做一个"_"

myString = textscan('Text1_Text2_Text3_Text4', '%s', 'delimiter','_');

输出:

'Text1' 'Text2' 'Text3' 'Text4'

这是一个字符数组。要将其转换为我使用的字符串myString = myString{1}。我想知道第二个索引的大小->numel(myString(2)); 但是 MATLAB 总是返回 1。我错在哪里?提前致谢。

PS如果我这样做,它会起作用

myString = myString{1}(2); myString = myString{1};

但是如果我还想知道索引 1、3 或 4 的大小,我需要很多变量,所以必须有一个更简单的方法。

4

1 回答 1

1

要知道所有字符串的大小:

>> sizes = cellfun(@numel, myString)

>> sizes =

     5
     5
     5
     5

只知道k-th 字符串的大小:

>> k = 2;
>> numel(myString{k})

>> ans =

     5
于 2014-04-22T14:27:18.243 回答