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

 採用された回答

Paolo
Paolo 2018 年 7 月 14 日

3 投票

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

2 件のコメント

Vincent Scalfani
Vincent Scalfani 2018 年 7 月 14 日
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 2023 年 4 月 25 日
I have the same problem. Thanks for the answers!

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeCharacters and Strings についてさらに検索

製品

リリース

R2018a

タグ

質問済み:

2018 年 7 月 14 日

コメント済み:

2023 年 4 月 25 日

Community Treasure Hunt

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

Start Hunting!

Translated by