【发布时间】:2021-12-06 09:23:41
【问题描述】:
我有一个数据框,其中有一列包含字符串(句子)。该字符串有许多驼峰式缩写。还有一本字典详细介绍了这些缩写及其各自的长格式。
例如: 字典:{'ShFrm':'Shortform', 'LgFrm':'Longform' ,'Auto':'Automatik'} 数据框列有这样的文本:(为简单起见,每个列表条目是数据框中的一行) ['ShFrmLgFrm 应该自动替换','Auto', 'AutoLgFrm']
如果我只是使用字典替换,所有替换都是正确的,除了在第一个文本中自动转换为“自动”。
我尝试在带有条件的字典的键值中使用正则表达式,只有在它之前有空格/开始 pf 字符串/小字母并且在它之后有大写字母/空格/句子结尾时才替换单词:'( ?:^|[a-z])ShFrm(?:[^A-Z]|$)',但它也替换了中间字符串前后的字符。
您能否帮我修改正则表达式模式,使其仅在它之前有小写字母/之前是单词/空格的开头并且之后有大写字母/单词结尾/空格之后才匹配缩写,并且只替换中间词,而不替换前后字符
【问题讨论】: