How to Change the first letter of a string to capital case and the rest to lowercase

impropermsg = input('Enter the sentence : \n', 's');
function propermsg = changemsg(impropermsg)
propermsg = strcat(upper(impropermsg(1)),lower(impropermsg(2:end)));
end
% The user can input but nothing happens

3 Kommentare

You are missing the step of invoking the function. You get the input and you define the function but not call the function on the input
You created a function that looks like it will do what you want but (at least in the code you posted) you never called the function.
You could just eliminate the 2nd and 4th lines of this code and you will have a simple two line script that does what you want (with the answer being in the propermsg string). If you want the result to be displayed, just take the semicolon off of the end of the propermsg = ... line.
Thank you for the feedback, I will remember the structure next time

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Make a script called something like test.m, and put this into it:
impropermsg = input('Enter the sentence : \n', 's');
% Now call the function:
propermsg = changemsg(impropermsg);
fprintf('The result is "%s"\n', propermsg);
function propermsg = changemsg(impropermsg)
propermsg = strcat(upper(impropermsg(1)),lower(impropermsg(2:end)));
end

Weitere Antworten (3)

Here's an approach that uses lower and regexprep.
str = {'Vidin','sliven','rUSE','pErNiK','LOVECH'};
strTitle = regexprep(lower(str),'^.', '${upper($0)}')
strTitle = 1x5 cell array
{'Vidin'} {'Sliven'} {'Ruse'} {'Pernik'} {'Lovech'}
word='si'
word = 'si'
new=replace(word,word(1),upper(word(1)))
new = 'Si'

1 Kommentar

That doesn't replace the rest with lower case like requested:
word='siUPPERCASE'
word = 'siUPPERCASE'
new=replace(word,word(1),upper(word(1)))
new = 'SiUPPERCASE'
You'd need to add this line:
new = replace(new, word(2:end), lower(word(2:end)))
new = 'Siuppercase'

Melden Sie sich an, um zu kommentieren.

str = "test";
pat = lineBoundary("start")+lettersPattern(1);
new_str = replace(str,pat,(upper(extract(str,pat))))
new_str = "Test"

Kategorien

Mehr zu Entering Commands finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by