MATLAB: Making upper case character with respect to the indexes

indexlowercase to uppercasestring arraystrings

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

Best Answer

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.