关于python:用一个单词拆分(不区分大小写)

Split by a word (case insensitive)

如果我想

1
"hi, my name is foo bar"

"foo"上拆分,拆分不区分大小写(在"foo""foo""foo"等任何一个上拆分),我该怎么办?请记住,虽然我希望拆分不区分大小写,但我也希望保持字符串其余部分的大小写敏感度。

如果我有:

1
2
3
4
5
test ="hi, my name is foo bar"

print test.split('foo')

print test.upper().split("FOO")

我会得到

1
2
['hi, my name is ', ' bar']
['HI, MY NAME IS ', ' BAR']

分别。

但我想要的是:

1
['hi, my name is ', ' bar']

每一次。目标是保持原始字符串的区分大小写,除了我要拆分的内容。

所以如果我的测试字符串是:

4

我期望的结果是:

1
['hI MY NAME iS ', ' bar']


您可以将re.split函数与re.IGNORECASE标志一起使用(简称re.I)。

1
2
3
4
5
>>> import re
>>> test ="hI MY NAME iS FoO bar"
>>> re.split("foo", test, flags=re.IGNORECASE)
['hI MY NAME iS ', ' bar']
>>>


您还可以搜索一些内容并获取关键字的起始位置。我建议您这样做,然后去掉"substring"方法。(我来自C,所以我不知道这种语言的方法是什么)