如何在两个特定字符之间选择数据?Python

3

我有一个名为 abcd.txt 的文件,其中包含:

"""    
hello,123 [1231,12312]1231231    
hello, world[3r45t,3242]6542    
123 213 135    
4234 gdfg gfd 32   
sd23 234 sdf 23    
hi, hello[234,23423]561    
hello, hi[123,123]985   
"""

我想打印出第二个逗号后到右括号前的字符串。 我的输出应该是:
12312
3242
23423
123

我试过这个:

我试过这个:

def select(self):
        file = open('gis.dat')
        list1 = []
        for line in file:
            line = line.strip()
            if re.search('[a-zA-Z]',line):
                list1.append(line.partition(',')[-1].rpartition(']')[0])
        return list1

3242 不在两个逗号后面。 - Pedro Lobito
抱歉,我在那里犯了一个错误。我已经更改了它。 - Vaibhav Borkar
1个回答

2

您可以使用以下方法:

import re
for line in open("abcd.txt"):
    match = re.findall(r".*?,.*?,(\d+)", line)
    if match:
        print match[0]

输出:

12312
3242
23423
123

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接