Matlab中是否有类似于java函数String.split(delimiter)的函数?

rob*_*ess 10 string matlab

是否存在(默认)Matlab函数,其行为类似于java方法split(delimiter),您可以在其中基于arbritary定界符对字符串进行标记化?

Rod*_*uis 17

有一个内置函数textscan,它具有以下功能:

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

C = 
    'I like stack '
    'verfl'
    'w'
Run Code Online (Sandbox Code Playgroud)

  • @AruniRC:是的.然而,它只分裂*一次*,例如,为了实现我的答案中显示的分割,你必须递归调用`strtok`,而`textscan`解决方案是oneliner(好的,2,但是哦,好吧:) (2认同)

Eas*_*sun 6

这里有多种分割字符串的方法.正如Rody Oldenhuis刚刚提到的那样,以下是其他一些:

1>使用功能regexp:

>> str = 'Good good study Day day up';
>> regexp(str,'\s','split')
ans = 
    'Good'    'good'    'study'    'Day'    'day'    'up'
>> 
Run Code Online (Sandbox Code Playgroud)

2>使用功能strread:

>> str = 'Section 4, Page 7, Line 26';
>> strread(str, '%s', 'delimiter', ',')
ans = 
    'Section 4'
    'Page 7'
    'Line 26'
>> 
Run Code Online (Sandbox Code Playgroud)