2013-09-28 2 views
1

У меня есть переменная, называемая данными, которая представляет собой массив ячеек 5574x1. В настоящее время каждый элемент представляет собой массив символов, представляющих предложение. Я хочу разбить каждый массив на пробелы. Так что я попытался сделать это:Ошибка Matlab strsplit

new_data = {strsplit (данные {:})}

и Matlab дает мне эту ошибку:

Error using strsplit (line 94) 
Argument 'spam Free entry in 2 a wkly comp to win FA Cup final tkts 
21st May 2005. Text FA to 87121 to receive entry question(std txt 
rate)T&C's apply 08452810075over18's' did not match any valid 
parameter of the parser. 

Однако, когда я делаю это:

for x=1:5574 
    d(x) = {strsplit(data{x})}; 
end 

Все работает отлично. Я не могу понять, какая разница между ними. Почему первый не работает? Любая помощь приветствуется.

+0

Я исправил свой ответ, используя strjoin, чтобы сгенерировать строку с одной строкой, как требуется strsplit. – chappjc

ответ

1

Выполняя strsplit(data{:}), он передает каждую ячейку в качестве другого аргумента, но strsplit нуждается в строках в одном аргументе. Попробуйте вместо этого:

new_data = strsplit(strjoin(data)) 

EDIT: Используйте strjoin вместо strvcat.

Смежные вопросы