gpt4 book ai didi

python - 找到两个或多个连续的单词以大写开头并替换为它们的缩写(正则表达式)

转载 作者:太空宇宙 更新时间:2023-11-04 03:59:01 26 4
gpt4 key购买 nike

我想替换两个或多个以大写字符开头的连续单词,并用它们的缩写替换它们,我设法找到了带有

的单词
def find(name):
return re.findall('([A-Z][a-z]+(?=\s[A-Z])(?:\s[A-Z][a-z]+)+)', name)

但是当我尝试替换单词时我就是做不到

这是我得到的

import re


def main():
name = raw_input(" Enter name: ")

print find(name)


def find(name):
return re.sub(r'([A-Z][a-z]+(?=\s[A-Z])(?:\s[A-Z][a-z]+)+)', replacement, name)


def replacement(match):
return match.group[0].upper()

main()

例如

输入:我参加了年度股东大会。输出:我去了年度股东大会。

感谢任何帮助

最佳答案

如果您按如下方式修改您的替换函数,您的示例应该可以正常工作:

def replacement(match):
return ''.join(y[0] for y in m.group(0).split())

关于python - 找到两个或多个连续的单词以大写开头并替换为它们的缩写(正则表达式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16721979/

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