Python-获取匹配的字符串百分比和字符串

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

我想将字符串与某些关键字匹配,并获取与关键字匹配的百分比和子字符串。例如。我有一个关键字列表

keywords = ['Projekt-Nr.:', 'Projektbezeichnung:', 'Anlagenklassifizierung:', 'Arbeiten / Gewerk:']

和一些未知的文字,例如

s = "Projekthezeichnung: —_[H- Kloster Eig i Krankenhaus"

我希望在此字符串中搜索我的关键字,并向我返回部分匹配的字符串。'Projektbezeichnung:'应该与'Projekthezeichnung:'匹配,且准确率超过95%(我已经在使用cdifflib了),但是cdifflib不会返回与关键字匹配的子字符串。

如何获得与关键字部分匹配的未知子字符串?

任何帮助都会非常有用,谢谢!

python string substring matching metrics
1个回答
0
投票

[difflibget_close_matches似乎合适:

get_close_matches

from difflib import get_close_matches keywords = ['Projekt-Nr.:', 'Projektbezeichnung:', 'Anlagenklassifizierung:', 'Arbeiten / Gewerk:'] unk_text = "Projekthezeichnung: —_[H- Kloster Eig i Krankenhaus" words = unk_text.split() result = [gcm(kw, words, n=len(words), cutoff=0.8) for kw in keywords] # [[], ['Projekthezeichnung:'], [], []] 列表的每个子列表都包含与相应关键字的“接近”匹配。

© www.soinside.com 2019 - 2024. All rights reserved.