我希望我的代码接受一个字符串输入(例如:“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
此代码输出字符串前面和后面的两行。但是,我需要打印一个特定的整数,所以我不知道如何从那里开始。
出于我的目的,我需要字符串右边的“最接近的整数”。
答案 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))