我想替换两个或多个以大写字符开头的连续单词,并用它们的缩写替换它们,我设法找到了带有
的单词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())
