Python Program to Capitalize Specific Character in String

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

For example, if the given string is fresherearth, then the string after capitalizing the character say c becomes fresherearth

Capitalize Specific Character in String

This program receives a string and a character from user to capitalize the given character in 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 fresherearth and a character say e to capitalize all e in given string as shown in the snapshot given below:

capitalize given character in string python

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

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

You can also replace (reverse) 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 Previous Program

This is the modified version of previous program. The end is used to skip printing of 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, fresherearth

capitalize a character in string python

Python Online Test


« Previous Program Next Program »