簡體   English   中英

REGEX使字符串從特定點開始

[英]REGEX to make string start from specific point

我必須使用正則表達式拆分字符串:比如Nikolaus Kopernikus -> 1473-1543

我嘗試了以下操作,但它只給我列出了->

我需要的是1473-1543年,最好在列表['1473','1543']

import re

print ( re.split(r'->', 'Nikolaus Kopernikus -> 1473-1543'))

我想要一個使字符串從特定符號開始的正則表達式,在此先感謝!

使用str.split

'Nikolaus Kopernikus -> 1473-1543'.split('->')[1].strip().split('-') # ['1473', '1543']

從文檔:

使用sep作為分隔符字符串,返回字符串中單詞的列表。 如果指定了maxsplit,則最多完成maxsplit個分割(因此,列表最多包含maxsplit + 1個元素)。 如果未指定maxsplit或-1,則分割數沒有限制(進行所有可能的分割)。

注意 :我使用str.strip分割后刪除空格。

如果要使用正則表達式:

import re
re.match('.*->[^\d]*(\d+)-(\d+)','Nikolaus Kopernikus -> 1473-1543').groups()
#output: ('1473', '1543')

如果您需要列表而不是元組,請使用list功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM