Filter löschen
Filter löschen

Help splitting string using strsplit

6 Ansichten (letzte 30 Tage)
Richard Youden
Richard Youden am 4 Jan. 2019
Bearbeitet: madhan ravi am 7 Jan. 2019
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?

Akzeptierte Antwort

Geoff Hayes
Geoff Hayes am 4 Jan. 2019
Bearbeitet: Geoff Hayes am 4 Jan. 2019
Richard - from strsplit try doing the following
strsplit(data, ';', 'CollapseDelimiters', false)
so that the consecutive empty delimiters are not collapsed into one cell.

Weitere Antworten (2)

madhan ravi
madhan ravi am 4 Jan. 2019
Bearbeitet: madhan ravi am 7 Jan. 2019
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 Kommentare
Jan
Jan am 7 Jan. 2019
Bearbeitet: Jan am 7 Jan. 2019
+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 am 7 Jan. 2019
Echt toll Jan! Danke schön , selbsverständlich jetzt..

Melden Sie sich an, um zu kommentieren.


Richard Youden
Richard Youden am 7 Jan. 2019
Thanks for the responses, greatly appreciated.
Richard

Kategorien

Mehr zu MATLAB finden Sie in Help Center und File Exchange

Tags

Produkte


Version

R2015b

Community Treasure Hunt

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

Start Hunting!

Translated by