如何解决自适应标点解析器
问题
我正在构建一个标点解析器,该解析器需要根据上下文自适应地替换特定的标点。
例如,以与号(&
)为例:
- 如果“&”号被单个字母包围,则应将其删除:
A&B
->AB
- 如果“&”号被单词(两个或两个以上字母)包围,应将其替换为空格:
COME&GO
->COME GO
因此,在应用逻辑之前,必须先确定每个“&”号的上下文。
当前方法
在这里,我使用正则表达式来标识上下文。这是解决这个问题的最好/最快的方法吗?
s = 'L&H COME&GO COME&EAT'
regex = '([a-zA-Z]{2,}&[a-zA-Z]{2,})'
matches = re.findall(regex,s)
for match in matches:
s = match.replace('&',' ').join(s.split(match))
s = s.replace('&','') # 'LH COME GO COME EAT'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。