Python : split string by ' and -
本问题已经有最佳答案,请猛点这里访问。
如何使用撇号
例如,给定
可以使用正则表达式模块的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'] |
号
希望这有帮助:)