我试图在特定单词之前拆分 python 中的字符串。例如,我想先分割以下字符串"path:"
.
- 之前分割字符串
"path:"
- input:
"path:bte00250 Alanine, aspartate and glutamate metabolism path:bte00330 Arginine and proline metabolism"
- output:
['path:bte00250 Alanine, aspartate and glutamate metabolism', 'path:bte00330 Arginine and proline metabolism']
我努力了
rx = re.compile("(:?[^:]+)")
rx.findall(line)
这不会在任何地方分割字符串。问题是后面的值"path:"
永远不会知道指定整个单词。有谁知道如何做到这一点?
使用正则表达式来分割字符串似乎有点矫枉过正:字符串split()
方法可能正是您所需要的。
无论如何,如果你确实需要匹配正则表达式来分割字符串,你应该使用re.split()方法,根据正则表达式匹配拆分字符串。
另外,使用正确的正则表达式进行分割:
>>> line = 'path:bte00250 Alanine, aspartate and glutamate metabolism path:bte00330 Arginine and proline metabolism'
>>> re.split(' (?=path:)', line)
['path:bte00250 Alanine, aspartate and glutamate metabolism', 'path:bte00330 Arginine and proline metabolism']
the (?=...)
group 是一个前瞻断言:表达式匹配一个空格(注意表达式开头的空格)后面跟着字符串'path:'
,而不消耗空格后面的内容。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)