如何剥离字符串忽略大小写?

时间:2016-11-18 22:49:02

标签: python

我试图从error变量中删除“error:”这个词,我想删除错误:对于所有情况?我该怎么做?

error = "ERROR:device not found"
#error = "error:device not found"
#error = "Error:device not found"
print error.strip('error:')

3 个答案:

答案 0 :(得分:4)

re模块可能是您最好的选择:

re.sub('^error:', '', 'ERROR: device not found', flags=re.IGNORECASE)

# '^error:' means the start of the string is error:
# '' means replace it with nothing
# 'ERROR: device not found' is your error string
# flags=re.IGNORECASE means this is a case insensitive search.

# In your case it would probably be this:
re.sub('^error:', '', error, flags=re.IGNORECASE)

这将在字符串的开头删除ERROR:的所有变体。

答案 1 :(得分:0)

您有以下变量:

error = "ERROR:device not found"

现在,如果要从中删除ERROR,只需删除字符串的前6个(如果您还想删除:)。像

error[6:]

给出:

device not found

此命令只需将条目6转到:字符串的结尾。 希望这对你有所帮助。当然,只有在错误发生在字符串的开头

时,这才有效

答案 2 :(得分:0)

您可以使用正则表达式:

import re
error = "Error: this is an error: null"
print re.sub(r'^error:',"",error,count=1,flags=re.I).strip()

结果:

this is an error: null

解释

re.sub(pattern, replacement, inuputString, count=0, flags=0)

pattern是一个正则表达式,这里我们使用前缀为r的标准字符串来指定它是正则表达式。

replacement是你想要取代匹配的东西,一个要删除的空字符串。

inputString是您要搜索的字符串,即错误消息。

count您想要替换的次数,只有一次出现。

flagsre.Ire.IGNORECASE以匹配“错误”,“错误”和“错误”。