如何按撇号'
和-
拆分字符串?
例如,给定string = "pete - he's a boy"
答案 0 :(得分:17)
您可以使用正则表达式模块的拆分功能:
re.split("['-]", "pete - he's a boy")
答案 1 :(得分:8)
string = "pete - he's a boy"
result = string.replace("'", "-").split("-")
print result
['pete ', ' he', 's a boy']
答案 2 :(得分:2)
这种感觉有点像hacky但你可以做到:
string.replace("-", "'").split("'")
答案 3 :(得分:2)
这可以在没有正则表达式的情况下完成。在字符串上使用split方法(并使用列表推导 - 实际上与@Cédric Julien's earlier answer
相同首先在一个分离器上分割一次,例如' - '然后拆分数组的每个元素
l = [x.split("'") for x in "pete - he's a boy".split('-')]
然后平坦列表
print ( [item for m in l for item in m ] )
给
['pete ', ' he', 's a boy']
答案 4 :(得分:0)
>>> import re
>>> string = "pete - he's a boy"
>>> re.split('[\'\-]', string)
['pete ', ' he', 's a boy']
希望这会有所帮助:)
答案 5 :(得分:0)
import re
string = "pete - he's a boy"
print re.findall("[^'-]+",string)
结果
['pete ', ' he', 's a boy']
如果你想在分割之前或之后没有空白:
import re
string = "pete - he's a boy"
print re.findall("[^'-]+",string)
print re.findall("(?! )[^'-]+(?<! )",string)
结果
['pete', 'he', 's a boy']