从文本文件中获取特定整数?

2024-04-16 19:07:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我有个问题。 我试图从文本文件中获取一个特定的整数。你知道吗

文本文件较大,但部分包含以下内容:

class="checkbox" name="reports[]" id="reports_43440"

现在,我对“reports\”旁边的整数感兴趣,它每次都不同。你知道吗

如何从文本文件中获取特定整数?你知道吗

我试过这个,但没能成功。你知道吗

filereader = myFile.read()
reportid = re.findall(r'"([^"]*)"', filereader)

问题是,它返回文本文件中括号内的所有内容。我只想得到那个特定的整数。你知道吗


Tags: namereid内容read整数myfile感兴趣
3条回答

此代码应该可以解决您的问题:

input = 'class="checkbox" name="reports[]" id="reports_43440"'

results = re.findall(r'"reports\_([^"]+?)"', input)
print results

使用re.search函数的简单解决方案(如果它应该得到一个整数值):

str = 'class="checkbox" name="reports[]" id="reports_43440"'
report_id = re.search(r'id="reports_(\d+)"', str).group(1)

print(report_id)

输出:

43440

让您拥有一个名为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"

现在可以使用如下正则表达式获取报表的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_匹配的内容。您可以根据需要定制。你知道吗

相关问题 更多 >