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

108 次查看(过去 30 天)
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 个评论
Les Beckham
Les Beckham 2020-12-13
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.

请先登录,再进行评论。

采纳的回答

Image Analyst
Image Analyst 2020-12-13
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

更多回答(2 个)

mahmoud abdelaal
mahmoud abdelaal 2022-10-3
移动:Image Analyst 2022-10-3
word='si'
word = 'si'
new=replace(word,word(1),upper(word(1)))
new = 'Si'
  1 个评论
Image Analyst
Image Analyst 2022-10-3
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'

请先登录,再进行评论。


Toshiaki Takeuchi
编辑:Walter Roberson 2024-6-5
str = "test";
pat = lineBoundary("start")+lettersPattern(1);
new_str = replace(str,pat,(upper(extract(str,pat))))
new_str = "Test"

类别

Help CenterFile Exchange 中查找有关 Programming 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by