我必须使用正则表达式拆分字符串:
说Nikolaus Kopernikus -> 1473-1543
我尝试了以下操作,但它只给了我一个没有->
我需要的是1473-1543年,最好是列表['1473','1543']
import re
print ( re.split(r'->', 'Nikolaus Kopernikus -> 1473-1543'))
我想要一个正常的表达式,使字符串从特定的符号开始,非常感谢!
答案 0 :(得分:2)
使用str.split
:
'Nikolaus Kopernikus -> 1473-1543'.split('->')[1].strip().split('-') # ['1473', '1543']
来自文档:
使用sep作为分隔符字符串,返回字符串中的单词列表。如果给出maxsplit,则最多完成maxsplit拆分(因此,列表最多将包含maxsplit + 1个元素)。如果未指定maxsplit或-1,则对分割数量没有限制(所有可能的分割都会生成)。
注意:我在分割后使用str.strip
删除了空格。
答案 1 :(得分:2)
如果您想使用正则表达式:
import re
re.match('.*->[^\d]*(\d+)-(\d+)','Nikolaus Kopernikus -> 1473-1543').groups()
#output: ('1473', '1543')
如果您需要列表而不是元组,请使用list
函数。