在本文中,我们将讨论替换字符串中多个字符的不同方法。
假设我们有一个名为 str1 的字符串。
str1 = "i love python"
现在,我们要替换其中的 3 个字符,“i”将替换为“I”,“l”将替换为“L”,“p”将替换为“P”。
使用 replace()
在 python 中,String 类提供了一个内置的方法 replace(),可用于将旧字符替换为新字符。
replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数 max,则替换不超过 max 次。
str.replace(old, new[, max])
str1 = "i love python"
char1 = {'i': 'I', 'l': 'L', 'p': 'P'}
for key, value in char1.items():
str1 = str1.replace(key, value)
print(str1)
输出:
I Love Python
使用 translate()
在 python 中,String 类还提供了一个内置的方法 translate(),也可以实现将旧字符替换为新字符的功能。
maketrans() 方法用于创建字符映射的转换表, translate() 方法根据给出的转换表转换字符串的字符。
str1 = "i love python"
char1 = {'i': 'I', 'l': 'L', 'p': 'P'}
str1 = str1.translate(str.maketrans(char1))
print(str1)
使用正则表达式
Python 中的正则表达式模块 (RE) 提供了一个函数 sub(),借助该函数,我们还可以替换字符串的多个字符。
import re
str1 = "i love python"
char1 = {'i': 'I', 'l': 'L', 'p': 'P'}
for key, value in char1.items():
str1 = re.sub("[ilp]", lambda x: char1[x.group(0)], str1)
print(str1)
使用 for 循环
我们还可以使用 for 循环替换字符串中的多个字符串。当找到匹配的字符时,它将用新字符替换该字符,并将新字符添加到字符串中。如果没有找到该字符的匹配字符,则将该字符添加到字符串中。
str1 = "i love python"
char1 = {'i': 'I', 'l': 'L', 'p': 'P'}
str2 = ''
for i in str1:
if i in char1:
str2 += char1[i]
else:
str2 += i
print(str2)
?
文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。如有意见和建议,请在评论中反馈!
?