我希望该程序忽略大小写 例如。对于字符串“ Apple”,“ A”或“ a”可以用任何其他字符替换Apple中的“ A”。
store = []
def main(text=input("Enter String: ")):
replace = input("Enter the replace char: ")
replace_with = input("Enter the replace with char: ")
for i in text:
store.append(i)
main()
print(store) # printing the result here
f_result = ''.join(store) # Joining back to original state
print(f_result)
答案 0 :(得分:1)
使用re
标准库,该库具有sub
方法和一个忽略大小写的选项。使用起来也很方便。这适用于您的示例:
import re
def main(text=input("Enter String: ")):
replace = input("Enter the replace char: ")
replace_with = input("Enter the replace with char: ")
return re.sub(replace, replace_with, text, flags=re.IGNORECASE)
main()
>>Enter String: Apple
>>Enter the replace char: a
>>Enter the replace with char: B
>>'Bpple'
答案 1 :(得分:0)
尝试使用ascii数字。大写代码和小写代码的区别是32
答案 2 :(得分:0)
Stack Overflow上有多篇关于python中不区分大小写的字符串替换的文章,但几乎所有文章都涉及使用正则表达式。 (例如,请参见this post。)
IMO,在这种情况下,最简单的方法是对str.replace
进行2次调用。首先替换大写版本,然后替换小写版本。
这里是一个例子:
text = "Apple"
to_repl = "a"
repl_with = "B"
print(text.replace(to_repl.upper(), repl_with).replace(to_repl.lower(), repl_with))
#Bpple