使用正则表达式替换java中的字符序列

时间:2011-09-22 20:32:29

标签: java regex matcher

我有以下文字

“这个球不是你的,这个是约翰的”

我想纠正这个

“这个球不是你的,这个是约翰的”

如何使用Pattern and Matcher在Java中执行此操作?

2 个答案:

答案 0 :(得分:1)

string.replaceall

 String fixed = old.replaceAll("\\?([ts])", "'$1");

这是example

答案 1 :(得分:0)

在这种情况下,您可以使用:

s = s.replaceAll("\\b?\\b", "'");

然后你就不太可能像@glowcoder那样替换合法的问号。但是,我认为@Philipp是对的,这实际上是一个字符编码问题。看起来你的文字应该是:

"This ball isn’t yours, this one is John’s"

如果它被编码为cp-1252但被解码为ASCII,则单引号将被问号替换。如果是这种情况,您可能会找到其他字符,例如卷曲双引号(“ ”),en-dash()和em-dash(),已经以相同的方式进行了宣传。