在txt文件中查找字符串并显示最接近的整数

时间:2017-02-11 01:32:53

标签: python string

我希望我的代码接受一个字符串输入(例如:“ABC”),然后读取一个txt文件并找到该字符串;一旦找到字符串,它应该输出最接近的整数(例如:456)到文件中的字符串。这可能吗?

到目前为止,我找到了可以打印“相关行”的代码,所以这些行与我的字符串相距2行。这段代码是:

f = open("textfile.txt", "r")   
searchlines = f.readlines()  
f.close()  
for i, line in enumerate(searchlines):  
    if "string" in line:   
        for l in searchlines[i:i+2]: print   
        print

此代码输出字符串前面和后面的两行。但是,我需要打印一个特定的整数,所以我不知道如何从那里开始。

出于我的目的,我需要字符串右边的“最接近的整数”。

1 个答案:

答案 0 :(得分:0)

您可以使用f.read()将文件读入一个字符串,然后通过正则表达式获取整数,该表达式将整数捕获到一个组中:

import re

f = open("textfile.txt", "r")   
content = f.read()  
f.close()

find = 'hello' # the string to find
result = re.search(find + r'\D*(\d+)', content) 

print(result.group(1))