[英]Extract first four digits from string within an list
我有一個文件夾名稱列表。 一些名稱僅包含數字,而其他名稱在某些文本之前帶有數字前綴。
在文件夾名稱包含數字和文本的地方,我只想提取數字(前四位數字)。
internal_list = [f.name for f in os.scandir(internal_path) if f.is_dir() ]
print(internal_list)
internal_list
顯示如下列表
[1001 Support, 1021 Training, 1022, 1023, 1033 Procedures]
我希望internal_digits顯示:
[1001, 1021, 1022, 1023, 1033]
internal_digits = []
for filename in internal_list:
if filename in '0123456789':
internal_digits.append(filename[0:4])
print (internal_digits)
您可以使用正則表達式匹配:
In [9]: [int(re.match(r'\d+', name).group(0)) for name in internal_list]
Out[9]: [1001, 1021, 1022, 1023, 1033]
筆記:
for
帶錯誤檢查的for
循環。 \\d+
更改為\\d{4}
將需要四位數字。 internal_digits=[i.split()[0] for i in internal_list]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.