我正在一个Java项目上,我想使用RegEx替换标点符号,特别是仅逗号和句号,它们与字母(o或O除外)相邻。例如,在像Love. , o.o这样的字符串中,我只想删除“ Love”一词后的句号,其余的保留下来(新字符串:Love , o.o)。
我尝试了[A-NP-Za-np-z][.,],但是显然这也删除了单词的最后一个字母(新字符串:Lov , o.o)。有什么想法吗?java - RegEx删除与字母相邻的标点符号-LMLPHP

最佳答案

您可以使用后向断言:

(?<=[A-NP-Za-np-z])[.,]


如果上一个字符是在(?<=[A-NP-Za-np-z])内部定义的字符之一,则[...]将断言。

在Java中:

txt = txt.replace("(?<=[A-NP-Za-np-z])[.,]", "");

关于java - RegEx删除与字母相邻的标点符号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34861155/

10-11 22:28
查看更多