簡體   English   中英

如何將一串數字和字母拆分為字符串列表和數字列表

[英]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.

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