gpt4 book ai didi

python - 如何在python中提取txt文件中的数字

转载 作者:行者123 更新时间:2023-11-28 21:35:05 30 4
gpt4 key购买 nike

我有一个这样的txt文件:

ASP62-Main-N     LYS59-Main-O    100.00%
THR64-Side-OG1 VAL60-Main-O 100.00%
ALA66-Main-N LEU61-Main-O 100.00%
LYS33-Main-N SER30-Main-O 100.00%

我想获取“-Main”或“-Side”之前的数字,结果如下:

62 59
64 60
66 61
33 30

我写了一些代码,但结果只显示“-Main”后面的数字。

f1 = open(filename1)
for line in f1.readlines():
N=re.compile(r'(\d+)-Main|-Side')
n=N.findall(line)
print (n)

结果如下所示:

['62', '59']
['', '60']
['66', '61']
['33', '30']

请有人给我一些建议。

最佳答案

正如 @JosephSible 所提到的,您应该对交替中的模式进行分组,因为交替的优先级较低,但在这种情况下,您应该对 -Main 使用非捕获组-Side 因为您实际上并不希望它们出现在输出中:

N=re.compile(r'(\d+)(?:-Main|-Side)')

或者,您可以使用前瞻模式,这样您就不需要任何捕获组:

N=re.compile(r'\d+(?=-Main|-Side)')

关于python - 如何在python中提取txt文件中的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52694875/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com