[英]How to split a string of numbers and letters into a list of strings and a list of numbers
給定一個包含一系列字母和數字的字符串(例如):
"GHG-H89KKK90KKP"
我們有沒有辦法把這個字符串分成兩個列表,一個包含字母,一個包含數字?
["GHG-H", "KKK", "KKP"]
[89,90]
使用re
(正則表達式)庫中的re.findall
在字符串中查找模式。 第一個表達式(?i)[az|-]+
查找所有字母序列(忽略大小寫),它還包括連字符 ( -
)。 第二個表達式[0-9]+
查找字符串中的所有數字序列。
import re
string = "GHG-H89KKK90KKP"
print(re.findall("(?i)[a-z|-]+", string))
print(re.findall("[0-9]+", string))
輸出:
['GHG-H', 'KKK', 'KKP']
['89', '90']
我相信沒有直接的方法,但是您可以使用re
庫。 例如:
import re
s = "GHG-H89KKK90KKP"
out = [c for c in re.split('\d', s) if c != '']
print(out)
拆分通過刪除 '\D' 非 num (或通過使用 '\d' 刪除 nums 的非 num 字符)為您提供 num 個字符的列表,然后我們刪除空值。 打印給出: ['GHG-H', 'KKK', 'KKP']
(用於'\d')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.