试图在Java中从String中删除撇号

时间:2016-11-02 20:05:26

标签: java regex

我试图用空白替换所有没有字母包围的撇号。对于像it's这样的情况,撇号不会被替换。

我试过这个:

str.replaceAll("[^a-zA-Z](')", " ")
   .replaceAll("(')[^a-zA-Z]", " ");

然而,仍有一些案例无法奏效,我也相信应该有更优雅的方式来做到这一点。有人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

正则表达式:^'+|'+(?!\S)(flags:g,m)

在输入的开头匹配撇号。匹配所有撇号,后面没有非空白字符。如果可能,+允许重复上一个标记(')。

如果你有撇号的例子被这个替换但不应该,请将它们留在评论中,我会看看我是否可以修改。