文章标题

来源:互联网 发布:四叠半神话大系知乎 编辑:程序博客网 时间:2024/05/09 10:48

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

0 0
原创粉丝点击