I have a cell dataset like this, where it is a string of letters and numbers all in one column (many rows):
data =
'0R 2 2 0'
'1R 2 0 0 4'
'2R 2 2 0 1 1 1'
'3R 2 2 2 1 1'
I would like to split each row into 2 columns at the first space:
data =
'0R' '2 2 0'
'1R' '2 0 0 4'
'2R' '2 2 0 1 1 1'
'3R' '2 2 2 1 1'
I tried:
splitcells = regexp(data, '\s+','split');
but that splits at each space, creating numerous columns, not 2. How do I get the regular expression to split only at the first space? Thanks

 Akzeptierte Antwort

Paolo
Paolo am 14 Jul. 2018

3 Stimmen

You may use the once option to split only once at the first occurrence of whitespace.
splitcells = regexp(data,'\s','split','once')

2 Kommentare

Thanks so much! If anyone else has this question, you can use the following to unnest the 1x2 cells from the split:
data = vertcat(data{:});
Simon
Simon am 25 Apr. 2023
I have the same problem. Thanks for the answers!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Characters and Strings finden Sie in Hilfe-Center und File Exchange

Produkte

Version

R2018a

Gefragt:

am 14 Jul. 2018

Kommentiert:

am 25 Apr. 2023

Community Treasure Hunt

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

Start Hunting!

Translated by