Java中的空白字符常量

时间:2019-05-21 09:00:25

标签: java string char

我们如何在Java中用空格替换特定的char常量?

\0替换为空格字符,而不是空白。

输入:

    String amount = "1.22.33,11";

所需结果:12233,11

2 个答案:

答案 0 :(得分:3)

您可以为此使用正则表达式:

String result = amount.replaceAll("\\.", "");

\.匹配每个文字时间段(.)并将其替换为空字符串(""


如果将正则表达式另存为java.util.regex.Pattern,则可以进一步优化此变量:

private static final Pattern DOT = Pattern.compile("\\.");

然后您可以像这样使用:

String result = DOT.matcher(amount).replaceAll("");

答案 1 :(得分:3)

    String amount = "1.22.33,11";
    String result = amount.replace(".", "");
    System.out.println(result);

输出:

  

12233,11

无需使用正则表达式或外部依赖项。

replace​(CharSequence target, CharSequence replacement)类的String方法用替换字符串替换每次出现的文字目标字符串。因此,只需提供空字符串作为替换。

您的任务可以描述为删除.的出现。因此,用“空白”字符代替,不管是什么,都不是正确的解决方案,在那里您仍然会有一些字符。相反,我们将一个字符的 string 替换为另一个没有字符的字符串。

正如@Lino在评论中指出的那样,每次调用该方法时,JDK版本(至少8个(我没有检查9个或10个))都会将正则表达式编译为Pattern。在Java 11中,提供了一种有效的实现。