问题:针对有千位分隔符的数字转换成字符串后,用replaceAll方法去除千位分隔符导致结果字符串为空串
核心代码:
String separator = “”+DecimalFormatSymbols.getInstance().getGroupingSeparator();
String result = string.replaceAll(separator,”“);
原因:在某些语言下,获取的分隔符为“.”,而replaceAll方法中的第一个参数相当于一个正则表达式,在正则表达式中,“.”代表匹配任何字符,于是该方法将所有的字符替换成了“”,结果就变成了空字符串
解决方法:获取分隔符之后进行判断,如果是“.”则进行转义处理
if (“.”.equals(separator)){
separator = “\.”;
}
文章标题
最新推荐文章于 2022-06-12 17:07:04 发布