1

我有一个名为 data 的变量,它是一个 5574x1 元胞数组。目前,每个元素都是代表一个句子的字符数组。我想在空格上拆分每个数组。所以我试着这样做:

new_data = {strsplit(data{:})}

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

它工作得很好。我似乎无法弄清楚两者之间的区别是什么。为什么第一个不起作用?任何帮助表示赞赏。

4

1 回答 1

1

通过这样做strsplit(data{:}),它将每个单元格作为不同的参数传递,但strsplit需要单个参数中的字符串。试试这个:

new_data = strsplit(strjoin(data))

编辑:使用strjoin而不是strvcat.

于 2013-09-28T22:24:54.767 回答