我在Python中无法匹配字符串。我要做的是在文档中查找this中的行,并尝试将每一行与特定的短语相匹配。我读取所有的行,并用Beautfiul soup解析为剥离字符串,然后遍历文档中所有行的列表。在此基础上,我使用以下代码来匹配特定字符串:
if row.upper() == ("AUDIT COMMITTEE REPORT" or "REPORT OF THE AUDIT COMMITTEE"):
print("Found it!")
if "REPORT" in row.upper():
print ("******"+row.upper()+"******")
当代码运行时,我得到以下输出:
^{2}$当检查字符串的相等性时,程序永远找不到它,但是当询问它的一部分是否在字符串中时,它可以毫不费力地找到它。字符串匹配是如何在Python,s.t.中工作的?这些事件正在发生,我如何修复它,使它能够生成那些精确的短语?在
编辑:另一个需要注意的是,这些文档非常大,有些文档很容易超过50页,检查字符串是否正好在行中是不够的。它需要完全匹配。在
您可以使用list comprehension执行类似的操作。在
首先,我们创建所有可能匹配项的列表,这些匹配项可以从文件中加载,也可以在python代码中静态声明。在
^{pr2}$接下来,我们遍历所有可能的匹配项,看看是否有匹配字符串
row
。如果有匹配项,则会向列表中添加一个真正的布尔值,我们可以使用它来确定是否存在匹配项。在如果删除
sum()
,您可以看到list comprehension的输出只是布尔值的列表。在如果你想更高效、更简单,你可以用for循环实现一个函数。在
这个循环将循环所有可能的匹配项,如果找到匹配项,它将立即返回True,否则将退出并返回False。在
这个怎么样
注意,
^{pr2}$("str1" or "str2")
返回第一个字符串,即'str1'
。在相关问题 更多 >
编程相关推荐