不区分大小写的Python字符串split()方法
我有两条线不区分大小写的Python字符串split()方法,python,string,Python,String,我有两条线 a = "abc feat. def" b = "abc Feat. def" 我想检索单词feat.或feat. 这就是我在做的 a.split("feat.", 1)[0].rstrip() 这将返回abc。但如何使用拆分分隔符执行不区分大小写的搜索 这就是我到目前为止所尝试的 b.split("feat." or "Feat.", 1)[0].rstrip() 输出-abc专长。def b.split(“feat.”和“feat.”,1)[0].rstrip() 输出-a
a = "abc feat. def"
b = "abc Feat. def"
我想检索单词feat.
或feat.
这就是我在做的
a.split("feat.", 1)[0].rstrip()
这将返回abc
。但如何使用拆分分隔符执行不区分大小写的搜索
这就是我到目前为止所尝试的
b.split("feat." or "Feat.", 1)[0].rstrip()
输出-abc专长。def
b.split(“feat.”和“feat.”,1)[0].rstrip()
输出-abc
a.split(“feat.”和“feat.”,1)[0].rstrip()
输出-abc专长。def
a.split(“feat.”或“feat.”,1)[0].rstrip()
输出-abc
在这两种情况下,为什么与和和或存在这种差异?a[0:a.lower().find(“feat”)].rstrip()就可以了
和
ing
“string1”和“string2”以及。。。和“stringN”
返回最后一个字符串的值
或
ing
“string1”或“string2”或。。。或“stringN”
将返回第一个字符串
.改用正则表达式:
>>> import re
>>> regex = re.compile(r"\s*feat\.\s*", flags=re.I)
>>> regex.split("abc feat. def")
['abc', 'def']
>>> regex.split("abc Feat. def")
['abc', 'def']
或者,如果您不想允许FEAT.
或FEAT.
(此正则表达式将允许):
您应该使用正则表达式:
re.split('\s*[Ff]eat\.', a)
和
和或
做一些布尔判断
"feat." or "Feat." -> "feat." if "feat." else "Feat." -> "feat."
"feat." and "Feat." -> "Feat." if "feat." else "feat." -> "Feat."
"feat." or "Feat." -> "feat." if "feat." else "Feat." -> "feat."
"feat." and "Feat." -> "Feat." if "feat." else "feat." -> "Feat."