簡體   English   中英

Python:如何按字母數字與數字分組拆分字符串

[英]Python: how to split string by groups Alpha-numeric vs numeric

假設我有這樣的字符串: "H39_M1", "H3_M15", "H3M19", "H3M11", "D363_H3", "D_128_H17_M50"

我怎樣才能將它們每一個拆分成一個子字符串列表? 像這樣:

["H39", "M1"], "[H3, "Min15"], ["H3","M19"], ["H3","M11"], ["D363","H3"], ["D128","H17","M50"]

然后:切換字母數字組和數字組的位置,如下所示: ["39H", "1M"], "[3H, "15Min"], ["3H","19M"], ["3H","11M"], ["363D","3H"],["128D","17H","50M"]

如您所見,數字組和字母數字組的長度各不相同。 “_”下划線也可以分隔它們。

我可能會建議在這里使用re.findallre.sub

inp = "H3M19"
inp = re.sub(r'([A-Z]+)([0-9]+)', r'\2\1', inp)
parts = re.findall(r'[0-9]+[A-Z]+', inp)
print(parts)

這打印:

['3H', '19M']

第一個re.sub步驟通過捕獲字母和數字對,然后交換它們,將H3M19轉換為3H19M 然后,我們使用re.findall查找交換輸入中的所有數字/字母對。

暫無
暫無

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

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