关于Python:用’和:拆分字符串:拆分字符串’和 –

Python : split string by ' and -

本问题已经有最佳答案,请猛点这里访问。

如何使用撇号'-拆分字符串?

例如,给定string ="pete - he's a boy"


可以使用正则表达式模块的split函数:

1
re.split("['-]","pete - he's a boy")


1
2
3
4
5
string ="pete - he's a boy"
result = string.replace("'","-").split("-")
print result

['pete ', ' he', 's a boy']


这可以在没有正则表达式的情况下完成。对字符串使用split方法(并使用列表理解-实际上与@c_dric julien之前的答案相同

首先在一个拆分器上拆分一次,例如"-"然后拆分数组的每个元素

1
l = [x.split("'") for x in"pete - he's a boy".split('-')]

然后奉承名单

1
print ( [item for m in l for item in m ] )

1
['pete ', ' he', 's a boy']


这感觉有点像黑客,但你可以做到:

1
string.replace("-","'").split("'")


1
2
3
import re
string ="pete - he's a boy"
print re.findall("[^'-]+",string)

结果

1
['pete ', ' he', 's a boy']

如果拆分前后不需要空白:

1
2
3
4
import re
string ="pete - he's a boy"
print re.findall("[^'-]+",string)
print re.findall("(?! )[^'-]+(?<! )",string)

结果

1
['pete', 'he', 's a boy']


1
2
3
4
>>> import re
>>> string ="pete - he's a boy"
>>> re.split('[\'\-]', string)
['pete ', ' he', 's a boy']

希望这有帮助:)