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

 Accepted Answer

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 Comment

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

Sign in to comment.

More Answers (0)

Categories

Products

Tags

No tags entered yet.

Asked:

JFz
on 24 Aug 2015

Commented:

JFz
on 25 Aug 2015

Community Treasure Hunt

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

Start Hunting!