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

2024-10-01 09:36:02 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

和一些未知的文本,例如

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

我希望在此字符串中搜索我的关键字,以便它返回部分匹配的字符串

“projektbezeichung:”应该匹配“projekthezeichung:”,准确率超过95%(我已经在使用cdifflib了),但cdifflib不会返回与我的关键字匹配的子字符串

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

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


Tags: 字符串文本列表关键字nr百分比keywordscdifflib
1条回答
网友
1楼 · 发布于 2024-10-01 09:36:02

difflib^{}似乎合适:

from difflib import get_close_matches as gcm

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:'], [], []]

result列表的每个子列表都包含与相应关键字的“close”匹配项

相关问题 更多 >