<20x1>のセル配列があり、それぞれに文字列の形式でいくつかのデータが格納されています(それが私に見えるように!!!)。セルの各要素に個別の文字列としてアクセスし、単語で分割したい。
私が持っているセル配列は<20x1>セル配列で、forループを使用しているセルとして各要素にアクセスします。
for i=1:20
line=newline{i}
end
配列内のすべての要素が表示されます。ここで、lineは文字列なので、strsplit関数を適用して文字列内の単語を取得します。
for i=1:20
words(i,:)=strsplit(line)
end
これは私にエラーメッセージを与えます:
??? Undefined function or method 'strsplit' for input
arguments of type 'char'.
Error in ==> chk at 15
words=strsplit(newline{i})
誰かが私が間違っているところを誰かに説明できますか?どんな助けでもありがたいです。前もって感謝します。
私の推測では、R2013aより前のversion
のMatlabを使用しています。それらは一般的な関数であり、何年も前に蜂を追加する必要があったという事実にもかかわらず、 strsplit
および strjoin
は addedこの最新バージョンでは 。
文字列を単語に分割するだけの場合に、strsplit
にアクセスできない状況を回避するには、いくつかの方法があります。すべての空白が単純なスペースである場合は、次のように strread
を使用できます。
strread(line,'%s','delimiter',' ')
ただし、 textscan
の方が堅牢です。
textscan(line,'%s')
regexp
の使用も堅牢ですが、遅くなる可能性があります。
regexp(line,'\s+','split')
これらはすべて、strsplit
と同様に、出力を文字列(単語)のセル配列として返します。 textscan
からの出力は、他のものに対して相対的に転置されます。