我正在研究Java项目,我想使用RegEx来替换字母旁边的标点符号(特别是逗号和句号)(o或O除外)。例如,在像Love. , o.o
这样的字符串中,我只想删除单词Love之后的句号,然后保留其余部分(新字符串:Love , o.o
)。
我尝试[A-NP-Za-np-z][.,]
,但显然这也删除了单词的最后一个字母(新字符串:Lov , o.o
)。有什么想法吗?
答案 0 :(得分:1)
您可以使用lookbehind断言:
(?<=[A-NP-Za-np-z])[.,]
如果前一个字符是(?<=[A-NP-Za-np-z])
中定义的字符之一, [...]
将断言。
在Java中:
txt = txt.replace("(?<=[A-NP-Za-np-z])[.,]", "");