gpt4 book ai didi

python - 根据字母数检索带括号的缩写的定义

转载 作者:太空狗 更新时间:2023-10-29 22:24:11 24 4
gpt4 key购买 nike

我需要根据括号中字母的数量检索首字母缩略词的定义。对于我正在处理的数据,括号中的字母数对应于要检索的单词数。我知道这不是获取缩写的可靠方法,但在我的情况下它会。例如:

String = '虽然家族健康史 (FHH) 被普遍认为是常见慢性疾病的重要危险因素,但执业护士 (NP) 很少考虑它。'

期望输出:家族健康史(FHH)、执业护士(NP)

我知道如何从字符串中提取括号,但之后我就卡住了。任何帮助表示赞赏。

 import re

a = 'Although family health history (FHH) is commonly accepted as an
important risk factor for common, chronic diseases, it is rarely considered
by a nurse practitioner (NP).'

x2 = re.findall('(\(.*?\))', a)

for x in x2:
length = len(x)
print(x, length)

最佳答案

使用正则表达式匹配找到匹配开始的位置。然后使用 python 字符串索引获取匹配开始前的子字符串。按单词拆分子串,得到最后 n 个单词。其中 n 是缩写的长度。

import re
s = 'Although family health history (FHH) is commonly accepted as an important risk factor for common, chronic diseases, it is rarely considered by a nurse practitioner (NP).'


for match in re.finditer(r"\((.*?)\)", s):
start_index = match.start()
abbr = match.group(1)
size = len(abbr)
words = s[:start_index].split()[-size:]
definition = " ".join(words)

print(abbr, definition)

这打印:

FHH family health history
NP nurse practitioner

关于python - 根据字母数检索带括号的缩写的定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56411861/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com