rohithguptha potti
rohithguptha potti

Reputation: 21

In python how to replace a character in a string

import re

n=input("Enter a String:")

# Replace the String based on the pattern

replacedText = re.sub('[%]+','$', n,1)

# Print the replaced string

print("Replaced Text:",replacedText)

input I have given is:

ro%hi%

Output:

ro$hi%

I want to change the second % in the String with empty space(''). Is it possible. For that what changes can I do in my code.

Upvotes: 1

Views: 733

Answers (4)

DRCoder
DRCoder

Reputation: 21

You can just do n.replace('%','')

Upvotes: 0

user17328377
user17328377

Reputation:

use replace() function. Specify how many occurances you need to replace at the end.

x = "ro%hi%"
print(x.replace("%", "$", 1)

Upvotes: 1

Abhyuday Vaish
Abhyuday Vaish

Reputation: 2379

You can use .replace("%", "$", 1) which will replace first % with $ then apply another .replace("%", "") to replace second % with ''.

n=input("Enter a String:")

# Print the replaced string
# This will replace the first % with $ and replace second % with ''
print("Replaced Text:",n.replace('%','$',1).replace('%', '', 1))
# If there are only two % in your input then you can use
# print("Replaced Text:",n.replace('%','$',1).rstrip('%')

Output:

ro$hi

Upvotes: 0

eccentricOrange
eccentricOrange

Reputation: 1202

Here is an arguably dumb solution, but it seems to do what you need. Would be good if you want to avoid regex and don't mind two function calls (i.e., performance in that sense isn't critical).

input_text = "ro%hi%"

output_text = input_text.replace("%", "$", 1).replace("%", "", 1)

print(output_text)

Terminal output:

$ python exp.py
ro$hi

Upvotes: 2

Related Questions