我们如何在Java中用空格替换特定的char常量?
\0
替换为空格字符,而不是空白。
输入:
String amount = "1.22.33,11";
所需结果:12233,11
答案 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中,提供了一种有效的实现。