making upper case character with respect to the indexes

5 views (last 30 days)
indxC = [1,7];
s ='hello world';
i want s to be 'Hello World' with using the indxC. The indexes of c should be upper case in the string s. Can you help me thanks

Accepted Answer

Image Analyst
Image Analyst on 25 May 2020
Edited: Image Analyst on 25 May 2020
Try this:
indxC = [1,7];
s ='hello world';
s(indxC) = upper(s(indxC))
or more generally:
s ='hello world';
upperS = upper(s); % Create an ALL CAPITALS VERSION of s.
spaceLocations = find(s(1:end-1) == ' '); % Find spaces - we'll capitalize the location after a space.
spaceLocations = [0, spaceLocations] % Always capitalize the first letter, so prepend 0.
s(spaceLocations + 1) = upperS(spaceLocations + 1) % Replace these locations with upper case letters.
  2 Comments
Umut Oskay
Umut Oskay on 25 May 2020
When i use the first one, s(indxC) is printed like HW, So just the indexes are printed not ‘Hello World’
Image Analyst
Image Analyst on 25 May 2020
After copying and pasting, this is what I get:
s =
'Hello World'
So I don't know what you mean when you say that just the indexes are printed, and not 'Hello World'. Please post a screenshot.

Sign in to comment.

More Answers (0)

Categories

Find more on Characters and Strings in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!