Matlab, textscan: последовательность знаков препинания

Я хочу разделить строку, используя "," в качестве разделителя, но не могу. Я попытался:

temp = textscan('the first","the second','%s',2,'Delimiter','","');

но результат таков:

темп{:}

ответ = 'первый'


person FrancescoVe    schedule 26.03.2015    source источник


Ответы (1)


temp = textscan('the first","the second','%s',5,'Delimiter',{'","'});

Я не могу найти соответствующую часть документации, но с массивом символов textscan использует каждый символ как отдельный разделитель. Отметьте temp = textscan('the first","the second','%s',4,'Delimiter','","');, чтобы увидеть, как разделитель вставляется в ваш код.

person Daniel    schedule 26.03.2015
comment
Спасибо, теперь более понятно. Я по-прежнему ценю любую помощь в решении моей проблемы, так как я хочу разделить свои строки только с помощью, а не с помощью или, ›› temp = textscan('the first,the second','%s',5,'Delimiter', {','}) ??? Ошибка при использовании ==› textscan Разделитель должен быть строкой. ›› temp = textscan('первая,вторая','%s',4,'Разделитель',',') temp = {ячейка 4x1} ›› temp{:} ans = 'первая' '' ' ' 'второй' - person FrancescoVe; 26.03.2015
comment
@FrancescoVe: в последних версиях textscan поддерживаются массивы ячеек или строки. , я не знаю, когда это было изменено, но какую версию Matlab вы используете? - person Daniel; 26.03.2015
comment
2008а. Я даже не могу использовать функцию strsplit и думаю, что пришло время перейти на более новую версию :) Однако я только что понял, что тем временем я могу легко справиться с проблемой разделения с помощью Python. - person FrancescoVe; 26.03.2015
comment
@FrancescoVe: regexp может быть альтернативой. Имея только старую лицензию, я бы переключился на октаву, которая в основном поддерживает тот же язык. После последнего обновления у него приятный пользовательский интерфейс (--force-gui). - person Daniel; 26.03.2015
comment
Спасибо @Daniel, ваша помощь была очень полезной, и теперь я могу продолжать свою работу. - person FrancescoVe; 27.03.2015