![](/img/trans.png)
[英]Python Regex match all occurrences of decimal pattern followed by another pattern
[英]Regex to get all occurrences of a pattern followed by a value in a comma separate string
這是在python中
輸入字符串:
Str = 'Y=DAT,X=ZANG,FU=_COG-GAB-CANE-,FU=FARE,T=TART,RO=TOP,FU=@-_MAP.com-,Z=TRY'
預期輸出
'FU=_COG-GAB-CANE_,FU=FARE,FU=@-_MAP.com_'
這里“ FU= ”是我們正在尋找的出現以及跟隨FU=的值
在逗號分隔的字符串中返回所有出現的FU= (帶有FU=的關聯值),它們可以出現在字符串中的任何位置,並且允許使用特殊字符。
這是一種方法。
>>> import re
>>> str_ = 'Y=DAT,X=ZANG,FU=FAT,T=TART,FU=GEM,RO=TOP,FU=MAP,Z=TRY'
>>> re.findall.__doc__[:58]
'Return a list of all non-overlapping matches in the string'
>>> re.findall(r'FU=\w+', str_)
['FU=FAT', 'FU=GEM', 'FU=MAP']
>>> ','.join(re.findall(r'FU=\w+', str_))
'FU=FAT,FU=GEM,FU=MAP'
搞定了
Python代碼
進口重新
str_ = 'Y=DAT,X=ZANG,FU=_COG-GAB-CANE-,FU=FARE,T=TART,RO=TOP,FU=@-_MAP.com-,Z=TRY'
str2='FU='+',FU='.join(re.findall(r'FU=(.*?),', str_))
打印(str2)
給出所需的輸出:
'FU=_COG-GAB-CANE-,FU=FARE,FU=@-_MAP.com-'
成功地給了我所有出現的FU=后跟值,而不管特殊字符的順序和數量。
雖然有點不干凈,因為我第一次手動添加 FU= 。 請建議是否有更清潔的方法? ,但是是的,它完成了工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.