MATLAB: How to split string

data acquisitionMATLABsimulinkStatistics and Machine Learning Toolbox

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

Best Answer

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' }