我如何在python中编写程序以将字符串中的字符替换为其他字符,而不考虑大小写

时间:2018-11-16 21:07:29

标签: python

我希望该程序忽略大小写 例如。对于字符串“ 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)

3 个答案:

答案 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