Python Program to Capitalize a Specific Character in a String

In this article, you will learn and get code in Python to capitalize any specific character (entered by the user) in a string (entered by the user).

For example, if the given string is codescracker, then the string after capitalizing the character, say c becomes CodesCraCker.

Capitalize specific characters in strings

This program receives a string and a character from the user to capitalize the given character in the given string, as shown in the program given below:

print("Enter the String:")
text = str(input())
print("Enter a Character:")
char = input()
textLen = len(text)
for i in range(textLen):
    if char==text[i]:
        if text[i]>='a' and text[i]<='z':
            ascVal = ord(text[i])
            ascVal = ascVal-32
            ascVal = chr(ascVal)
            index = i
            text = text[:index] + ascVal + text[index+1:]
print("\nThe New String is:")
print(text)

Here is its sample run:

python capitalize character in string

Now supply any string, say welcome to codescracker and a character, say e to capitalize all e in the given string as shown in the snapshot given below:

capitalize given character in string python

The dry run of the above program with the same user input as provided in the sample run goes like this:

Note: The text[:2] referred to elements from the starting (0th) to the second (1st) index. Whereas text[2:] referred to elements from the second (2nd) index to the last.

You can also replace the following block of code:

if char==text[i]:
    if text[i]>='a' and text[i]<='z':

with

if text[i]>='a' and text[i]<='z':
    if char==text[i]:

Modified version of the previous program

This is a modified version of the previous program. The end is used to skip the printing of the automatic newline.

print(end="Enter the String: ")
text = str(input())
print(end="Enter the Character: ")
char = input()
if char>='A' and char<='Z':
    ascVal = ord(char)
    ascVal = ascVal + 32
    ascVal = chr(ascVal)
    char = ascVal
textLen = len(text)
for i in range(textLen):
    if char==text[i]:
        if text[i]>='a' and text[i]<='z':
            ascVal = ord(text[i])
            ascVal = ascVal-32
            ascVal = chr(ascVal)
            index = i
            text = text[:index] + ascVal + text[index+1:]
print("\nThe New String is: " + text)

Here is its sample run with user input: Codescracker

capitalize a character in string python

Python Online Test


« Previous Program Next Program »


Liked this post? Share it!