按字词分割(不区分大小写)

jfa*_*son 10 python regex string split

如果我想要

"hi, my name is foo bar"
Run Code Online (Sandbox Code Playgroud)

并拆分它"foo",并有分裂的,不区分大小写(分割任何的"foO","FOO","Foo",等),我该怎么办?请记住,尽管我希望拆分不区分大小写,但我也希望保持字符串其余部分的区分大小写.

所以,如果我有:

test = "hi, my name is foo bar"

print test.split('foo')

print test.upper().split("FOO")
Run Code Online (Sandbox Code Playgroud)

我会的

['hi, my name is ', ' bar']
['HI, MY NAME IS ', ' BAR']
Run Code Online (Sandbox Code Playgroud)

分别.

但我想要的是:

['hi, my name is ', ' bar']
Run Code Online (Sandbox Code Playgroud)

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

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

"hI MY NAME iS FoO bar"
Run Code Online (Sandbox Code Playgroud)

我想要的结果是:

['hI MY NAME iS ', ' bar']
Run Code Online (Sandbox Code Playgroud)

iCo*_*dez 20

你可以使用带有标志re.split函数(或简称):re.IGNORECASEre.I

>>> import re
>>> test = "hI MY NAME iS FoO bar"
>>> re.split("foo", test, flags=re.IGNORECASE)
['hI MY NAME iS ', ' bar']
>>>
Run Code Online (Sandbox Code Playgroud)