10

是否有一个(默认)Matlab 函数,其行为类似于 java 方法 split(delimiter),您可以在其中基于任意分隔符对字符串进行标记?

4

3 回答 3

17

有一个名为的内置函数textscan可以做到这一点:

>> C = textscan('I like stack overflow', '%s', 'delimiter', 'o');    
>> C = C{1}

C = 
    'I like stack '
    'verfl'
    'w'
于 2012-08-29T09:40:07.640 回答
6

这里有不止一种拆分字符串的方法。罗迪·奥尔登休斯刚刚提到的一个,还有一些其他的:

1> 使用功能regexp

>> str = 'Good good study Day day up';
>> regexp(str,'\s','split')
ans = 
    'Good'    'good'    'study'    'Day'    'day'    'up'
>> 

2> 使用功能strread

>> str = 'Section 4, Page 7, Line 26';
>> strread(str, '%s', 'delimiter', ',')
ans = 
    'Section 4'
    'Page 7'
    'Line 26'
>> 
于 2012-08-29T10:05:37.533 回答
2

有一个类似于您在名为xml_toolbox.

它被称为strsplit

strsplit('我喜欢堆栈溢出','o')

答案=

'我喜欢堆栈' 'verfl' 'w'

于 2012-08-29T09:32:06.937 回答