split関数でタブ区切りを分割できない
Mostrar comentarios más antiguos
タブ区切りテキストファイルを読み込んで,split 関数で分割したいと考えています.
ためしに1行だけ読ませようとしましたが,うまく分割できません.
infile1='test.txt';
fid=fopen(infile1,'r');
line = fgetl(fid);
dd=split(line,"\t")
ddの結果は,1×1のcell配列となってしまいます.
タブをカンマやスペースに変えて,区切り子をそのように指定するとうまく分割できるのですが.
タブの場合だけうまくできません.
どのような原因が考えられますでしょうか?
4 comentarios
Akira Agata
el 13 de Abr. de 2020
Takeshi Hashimoto
el 13 de Abr. de 2020
Akira Agata
el 13 de Abr. de 2020
ご指摘のように、R2016b以降は関数 split が推奨されていますが、少なくとも今回の用途であれば今のところ strsplit でも問題ないと思います。
もしどうしても気になるようであれば、以下のような回避策があります。
① split をそのまま使う方法
dd = split(line); % ddはN×1のセル配列として出力されます。
② regexp を使う方法
dd = regexp(line,'\t','split'); % ddは1×Nのセル配列として出力されます。
③ split で \t を明示的に指定する方法
dd = split(line,sprintf('\t')); % ddはN×1のセル配列として出力されます。
Takeshi Hashimoto
el 14 de Abr. de 2020
Respuestas (0)
Categorías
Más información sobre 文字と文字列 en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!