我需要找到句子中单词的起始索引,即使它部分匹配。
我尝试了 find() 方法。但它只有在单词完全匹配时才匹配。
代码:
import re
body = 'Charles D�Silva | Technical Officer Anglo (UK) Limited'
word = 'ANGLO (UK) LTD'
start_idx = body.lower().find(word.lower())
print(match.start())
所以我的输出应该是,需要在句子中获取Anglo (UK) Limited 的起始索引,还需要在句子中获取部分匹配的单词 (Anglo (UK) Limited)。
对于以上问题有什么建议吗?
可以通过创建一个遍历
body
的函数来实现,并检查字符是否等于子字符串word
中的特定字母。最后,如果找到每个子字符串,它会返回True
。这是代码:
def is_partial_match(string: str, substring: str) -> bool:
# Define the iterator value
iterator = 0
# Iterates through string to find if it matches substring[index]
for char in string:
if char == substring[iterator]:
iterator += 1
# Return True if everything has matched
return iterator == len(substring)
body = 'Charles D�Silva | Technical Officer Anglo (UK) Limited'
word = 'ANGLO (UK) LTD'
print(is_partial_match(body.lower(), word.lower()))