假设我有一些包含 *.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])
关于python - 如何在找到 k 个连续数字后终止字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48543438/