How to replace a string in a table

I have a table test that says
month
--
'January'
'JANUARY'
I want to replace 'JANUARY' by 'January':
month
--
'January'
'January'
I tried strcmp but I got an error message "conversion to cell from char is not possible." Please advise.

 Accepted Answer

Mara
Mara on 18 Jun 2020
Edited: Mara on 18 Jun 2020
test = table();
test.month = 'JANUARY';
test.month = lower(test.month); %writes it in lower case letters
or you can as well just replace it by your desired input
test.month = 'january';
P.S. You do not have a string but a character (char)

5 Comments

alpedhuez
alpedhuez on 18 Jun 2020
Edited: alpedhuez on 18 Jun 2020
IQ=IQ+1;
Is it possible to have 'January' that is the first letter capital but the followins are lower?
you can index into your character like a normal array: test.month(2:end) = lower(test.month(2:end)), so that the first character is not changed
alpedhuez
alpedhuez on 18 Jun 2020
Edited: alpedhuez on 18 Jun 2020
It only works for the first row.
Mara
Mara on 18 Jun 2020
Edited: Mara on 18 Jun 2020
then you have to specify that you want every row:
test.month(:,2:end) = lower(test.month(:,2:end));
alpedhuez
alpedhuez on 18 Jun 2020
Edited: alpedhuez on 18 Jun 2020
IQ=IQ+1; % Thank you.

Sign in to comment.

More Answers (1)

I am providing a solution, i suspect it's not the ideal solution but it should work.
test = table();
test.month{1} = 'JANUARY';
test.month{2} = 'January';
for index = 1:length(test.month)
if(test.month{index}=='JANUARY')
test.month{index} = 'January';
end
end

1 Comment

It depends on whether you have a cell array containing characters or characters solely. From the previous error message that occured ("conversion to cell from char is not possible.") , I concluded, that it is stored as characters only. In which case it does not let you index with curly braces
this worked for me:
test = table();
test.month = {'JANUARY'; 'FEBRUARY'; 'MARCH'}; %cell
test.month = char(test.month); %conversion to character array
test.month(:,2:8) = lower(test.month(:,2:8)); %indexing with normal braces

Sign in to comment.

Categories

Products

Release

R2020a

Tags

Asked:

on 18 Jun 2020

Edited:

on 18 Jun 2020

Community Treasure Hunt

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

Start Hunting!