在句子中找到单词的索引,即使它部分匹配(模糊)

问题描述 投票:0回答:1

我需要找到句子中单词的起始索引,即使它部分匹配。

我尝试了 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)。

对于以上问题有什么建议吗?

python regex string fuzzy-search
1个回答
-1
投票

可以通过创建一个遍历

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()))
© www.soinside.com 2019 - 2024. All rights reserved.