フィルターのクリア

Help splitting string using strsplit

6 ビュー (過去 30 日間)
Richard Youden
Richard Youden 2019 年 1 月 4 日
編集済み: madhan ravi 2019 年 1 月 7 日
I have a large set of data which is presented as a string, for example:
1;2;3;4;5;6;7;8 etc...
I use:
strsplit(data,';')
and that breaks everything up into individual cells.
However I have found an issue with some data. My logger is 100% reliable so sometimes I get data which looks like:
;;;;;6;7;8 etc...
Using the strsplit command I get:
NaN 6 7 8
What I'd like is
NaN NaN NaN NaN NaN 6 7 8
Any suggestions?

採用された回答

Geoff Hayes
Geoff Hayes 2019 年 1 月 4 日
編集済み: Geoff Hayes 2019 年 1 月 4 日
Richard - from strsplit try doing the following
strsplit(data, ';', 'CollapseDelimiters', false)
so that the consecutive empty delimiters are not collapsed into one cell.

その他の回答 (2 件)

madhan ravi
madhan ravi 2019 年 1 月 4 日
編集済み: madhan ravi 2019 年 1 月 7 日
str=';;;;;6;7;8';
expr=';';
C=str2double(regexp(str,expr,'split')) % edited after Jan’s comment
%[~,c]=regexp(str,expr,'match','split');
%Result=cellfun(@str2double,c)
Gives:
Result =
NaN NaN NaN NaN NaN 6 7 8
  2 件のコメント
Jan
Jan 2019 年 1 月 7 日
編集済み: Jan 2019 年 1 月 7 日
+1. regexp returns the wanted cell string as 1st output when using 'split' without 'match':
C = regexp(str, expr, 'split')
and str2double works with a cellstring directly. So this is simpler and faster:
Result = str2double(regexp(str, expr, 'split'))
madhan ravi
madhan ravi 2019 年 1 月 7 日
Echt toll Jan! Danke schön , selbsverständlich jetzt..

サインインしてコメントする。


Richard Youden
Richard Youden 2019 年 1 月 7 日
Thanks for the responses, greatly appreciated.
Richard

カテゴリ

Help Center および File ExchangeMATLAB についてさらに検索

タグ

製品


リリース

R2015b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by