java正则表达式删除_Java正则表达式不会删除点

我正试图删除“……”在文本中,并将其替换为“.”.

我的代码:

System.out.println(TextHandler.class.toString() + " removeExcessiveSpaces E2 " + text);

while (text.contains("\\. \\.")) {

text = text.replaceAll("\\. \\.", ".");

}

System.out.println(TextHandler.class.toString() + " removeExcessiveSpaces E3 " + text);

文字输入:

"from the streets' fit but you know it. . this is just another case of female stopping play,. in an otherwise total result of a holiday. by m-uhjuly 04, 2006. . 8 . 42 . .. .... . . . . . . . .

预期产量:

"from the streets' fit but you know it this is just another case of female stopping play,. in an otherwise total result of a holiday. by m-uhjuly 04, 2006. . 8 . 42 ..

观察到的输出:

from the streets' fit but you know it. . this is just another case of female stopping play,. in an otherwise total result of a holiday. by m-uhjuly 04, 2006. . 8 . 42 . .. .... . . . . . . . .

(与输入无差异)

为什么不工作?

解决方法:

String#contains不期望正则表达式只是普通字符串.

所以使用:

if (text.contains(". .")) {

text = text.replaceAll("\\. \\.", ".");

}

或者只是使用String#replace:

text = text.replace(". .", ".");

标签:java,regex

来源: https://codeday.me/bug/20190727/1558380.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值