MATLAB Answers

How to split string

4 views (last 30 days)
Mekala balaji
Mekala balaji on 27 Jun 2019
Edited: Adam Danz on 1 Jul 2019
Hi,
I have the below cell array and want to split at common dilimiter of the specified column.
Group Sub_group Name Date Value
Group1 S1Gp11 HATU R2016-06-01_00 1
Group1 S1Gp11 HATU R2016-06-01_01 1
Group2 J1Gp21 LARU R2016-06-02_01 0
I want to split at "_" and retain everything before "_".
Desired Output:
Group Sub_group Name Date Value
Group1 S1Gp11 HATU R2016-06-01 1
Group1 S1Gp11 HATU R2016-06-01 1
Group2 J1Gp21 LARU R2016-06-02 0

  3 Comments

Adam Danz
Adam Danz on 27 Jun 2019
It looks like a table, are you sure it's a cell array? Is it a 4x5 cell array?
Mekala balaji
Mekala balaji on 27 Jun 2019
yes, cell array.
Adam Danz
Adam Danz on 27 Jun 2019
Ok, good. See the example in my answer below and feel free to follow-up with any problems or questions.

Sign in to comment.

Accepted Answer

Adam Danz
Adam Danz on 27 Jun 2019
Edited: Adam Danz on 1 Jul 2019
c = {'Group' 'Sub_group' 'Name' 'Date' 'Value';
'Group1' 'S1Gp11' 'HATU' 'R2016-06-01_00' '1'
'Group1' 'S1Gp11' 'HATU' 'R2016-06-01_01' '1'};
colIdx = strcmpi(c(1,:),'Date'); % column number of "Date" column
cClean = c; %copy the array if you want to keep the original
cClean(:,colIdx) = regexprep(cClean(:,colIdx),'_.*','');
Result
cClean =
3×5 cell array
{'Group' } {'Sub_group'} {'Name'} {'Date' } {'Value'}
{'Group1'} {'S1Gp11' } {'HATU'} {'R2016-06-01'} {'1' }
{'Group1'} {'S1Gp11' } {'HATU'} {'R2016-06-01'} {'1' }

  0 Comments

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by