我在 Python 中匹配字符串时遇到问题。我要做的是在这样的文档中查找行,并尝试将每一行与特定的短语匹配。我正在阅读所有行并将 Beautfiul 汤解析为剥离的字符串,然后遍历文档中所有行的列表。从那里,我使用以下代码来匹配特定的字符串:
if row.upper() == ("AUDIT COMMITTEE REPORT" or "REPORT OF THE AUDIT COMMITTEE"):
print("Found it!")
if "REPORT" in row.upper():
print ("******"+row.upper()+"******")
当代码运行时,我得到以下输出:
******COMPENSATION COMMITTEE REPORT******
******REPORT OF THE AUDIT COMMITTEE******
******REPORTING COMPLIANE******
******COMPENSATION COMMITTEE REPORT******
******REPORT OF THE AUDIT COMMITTEE******
当检查字符串是否相等时,程序永远不会找到它,但是当被问及它的一部分是否在字符串中时,它能够毫无困难地找到它。字符串匹配在 Python 中是如何工作的,这些事件是如何发生的,我该如何修复它以便它能够生成这些精确的短语?
编辑:另一个需要注意的是,这些文档非常大,有的很容易超过 50 页,并且检查字符串是否正好在行中是不够的。它必须是完全匹配的。