我有一个问题。 我试图从文本文件中获取一个特定的整数。
文本文件较大,但其中一部分包含:
class="checkbox" name="reports[]" id="reports_43440"
现在,我对“reports_”旁边的整数感兴趣,每次都不同。
如何从文本文件中获取该特定整数?
我试过这个,但我无法让它发挥作用。
filereader = myFile.read()
reportid = re.findall(r'"([^"]*)"', filereader)
问题是,它返回文本文件中括号内的所有内容。我想只得到那个特定的整数。
答案 0 :(得分:1)
让您拥有一个名为test.txt
的文本文件,其中包含以下内容:
class="checkbox" name="reports[]" id="reports_12343440"
class="checkbox" name="reports[]" id="reports_4342340"
class="checkbox" name="reports[]" id="reports_4344430"
class="checkbox" name="reports[]" id="reports_4344130"
class="checkbox" name="reports[]" id="reports_434410"
class="checkbox" name="reports[]" id="reports_434403"
现在,您可以使用正则表达式获取reports_的id值,如下所示:
import re
myFile = open("test.txt","r")
filereader = myFile.read()
regex = r"reports_([\d]+)"
reportid = re.findall(regex, filereader)
for id in reportid:
print(id)
代码段的输出是:
12343440
4342340
4344430
4344130
434410
434403
我在这里搜索了与reports_
匹配的内容。您可以根据需要进行自定义。
答案 1 :(得分:0)
此代码应解决您的问题:
input = 'class="checkbox" name="reports[]" id="reports_43440"'
results = re.findall(r'"reports\_([^"]+?)"', input)
print results
答案 2 :(得分:0)
使用https://www.example.com/upload/default-food-image.png函数的简单解决方案(如果它应该获得单个整数值):
str = 'class="checkbox" name="reports[]" id="reports_43440"'
report_id = re.search(r'id="reports_(\d+)"', str).group(1)
print(report_id)
输出:
43440