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