How to split a column in a table into two columns?

Hi,
I have a table that has column like this:
name_num
ABC_123
EFG_456
GGGG
HHHHH
I would like to split the column into two: name and num like this:
name num
ABC 123
EFG 456
GGGG N/A
HHHHH N/A
I thought of varfun but I have difficulty with it. Would anyone help me?
Thank you.
Jennifer

 Akzeptierte Antwort

Azzi Abdelmalek
Azzi Abdelmalek am 24 Aug. 2015
Bearbeitet: Azzi Abdelmalek am 24 Aug. 2015
name_num={'ABC_123','EFG_456','GGGG','HHHHH'}
s1=regexp(name_num,'[^\d_]+','match')
s2=regexp(name_num,'\d+','match')
s2(cellfun(@isempty,s2))={'N/A'}
out=[[s1{:}]' [s2{:}]']

1 Kommentar

JFz
JFz am 25 Aug. 2015
Azzi, Thank you! yes, it works! But in my case, it is a table. So should I convert name_num column into a cell array and perform the regexp before convert back to table?
Jennifer

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Produkte

Tags

Noch keine Tags eingegeben.

Gefragt:

JFz
am 24 Aug. 2015

Kommentiert:

JFz
am 25 Aug. 2015

Community Treasure Hunt

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

Start Hunting!

Translated by