Python 2.7 .lower()函数与.replace组合

时间:2018-08-27 18:38:09

标签: python python-2.7

我正在尝试将.lower()和.replace结合起来,但是我却很挣扎。

这是我的代码段...

elif "rename account 1 " in msg.text:
    if msg.from_ in Admin:
                string = msg.text.replace("rename account 1 ","")

寻找用户发出命令“ rename account 1”,然后在同一字符串中添加新名称,例如。 “重命名帐户1帐户2”

问题在于用户是否输入任何大写字母,例如。 “重命名帐户1”命令无法识别。 我通常要做的是使用.lower()将输入字符串更改为全部小写,然后匹配全部为小写的命令。  问题是,如果我这样做,.replace也只能全部小写。

我可以做到...

elif "rename account 1 " in msg.text.lower():
    if msg.from_ in Admin:
                string = msg.text.lower().replace("rename account 1 ","")

解决了输入问题,但增加了输出全部为小写的问题。 在这种情况下,我该如何隔离这两件事?

我是python的新手,正在学习,所以如果答案很明显,请原谅我。

谢谢

1 个答案:

答案 0 :(得分:1)

您可以使用re不区分大小写地替换字符串。

import re

text = 'ALPHA,Rename ACCOUNT 1,beta'
string = re.sub('rename account 1', '', text, flags=re.I)
print(string)

结果:

ALPHA,,beta

re.I标志是“忽略大小写”的缩写。