Skip to main content
 首页 » 编程设计

python之如何在找到 k 个连续数字后终止字符串

2025年05月04日30TianFang

假设我有一些包含 *.1243.* 形式的文件的列表,我希望获得这 4 位数字之前的所有内容。我如何有效地做到这一点?

一个丑陋、低效的工作代码示例是:

names = [] 
for file in file_list: 
    words = file.split('.') 
    for i, word in enumerate(words): 
        if word.isdigit(): 
            if int(word)>999 and int(word)<10000: 
                names.append(' '.join(words[:i])) 
                break 
print(names) 

但显然,这远非理想,我想知道更好的方法来做到这一点。

请您参考如下方法:

您可能需要为此使用正则表达式。

import re 
 
name = [] 
for file in file_list: 
    m = re.match(r'^(.+?)\.\d{4}\.', file) 
    if m: 
        name.append(m.groups()[0])