我不知道如何在不影响原始大小写的情况下替换所有出现的第一个字符,不包括第一个字符。例如,我想将她是海上最好的人变成她在$ ea上的赌注。进行此操作最有效的方法是什么。
我尝试使用.title()失败,并且收到输出错误且字符大写的错误信息。
def change(s):
news=s.lower()
firstchar=news[0]
modifieds=news[1:].replace(firstchar,"$")
final=(firstchar+modifieds)
print(final.title())
change("She's The Best On The Sea")
她在$ Ea上的$ Be
答案 0 :(得分:2)
将re.sub
与re.IGNORECASE
一起使用:
import re
s = "She's The Best On The Sea"
s[0] + re.sub('s', '$', s[1:], flags=re.IGNORECASE)
输出:
"She'$ The Be$t On The $ea"
答案 1 :(得分:0)
以一种可读的方式:
text = "She's The Best On The Sea"
new_text = ""
string_to_check = "s"
replacement = "$"
for i in range(len(text)):
if i != 0 and text[i].lower() == string_to_check:
new_text += replacement
else:
new_text += text[i]
print(new_text)
输出:
She'$ The Be$t On The $ea