OR 拆分函数无法以嵌套方式工作


case1 = """ do some test
here"""
case2 = """ do some test2
here"""
print(case1.split("some")[1].split('n|,')[0])

n,都不在这里工作。

输出应为

 test

但它给了我

 test,
here

显然你想用正则表达式进行拆分。但这不是str.split(..)的工作方式:它被一个字符串分割开来。

我们可以使用re模块正确拆分:

import re
print(re.split('n|,', case1.split("some")[1])[0])

这会产生:

>>> print(re.split('n|,', case1.split("some")[1])[0])
 test
>>>

最新更新