Есть ли (по умолчанию) функция Matlab, которая ведет себя аналогично расколу java-метода (разделитель), где вы можете токенизировать строку на основе условного разделителя?
Есть ли функция в Matlab, аналогичная java-функции String.split(разделитель)?
Ответ 1
Существует встроенная функция textscan
, способная к этому:
>> C = textscan('I like stack overflow', '%s', 'delimiter', 'o');
>> C = C{1}
C =
'I like stack '
'verfl'
'w'
Ответ 2
Вот несколько способов разделить строку. Один, как только что упомянул Роди Олденхаус, и вот некоторые другие:
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'
>>
Ответ 3
Существует функция, аналогичная тому, что вы упомянули в обмен файлами в пакете под названием xml_toolbox
.
Он называется strsplit
.
strsplit ( "Мне нравится переполнение стека", "o" )
ans =
'Мне нравится стек' 'verfl' 'w'