Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从字符串中删除千位分隔符_Java_String - Fatal编程技术网

Java 从字符串中删除千位分隔符

Java 从字符串中删除千位分隔符,java,string,Java,String,我一直试图从这个字符串中删除一个千分位符,但没有成功 我尝试了trim(),替换(“\\s”)和unicode值,如'\u00A0','\u2007','\u202F',但没有成功。下图显示了字符串 您看到的字符是一个不间断空格:\u00a0。您可以使用String.replace来摆脱它,例如 value = value.replace("\u00a0", ""); 通常,在过滤用户输入时,尝试删除所有坏字符是一个坏主意,您只需要保留好字符:),因此,与其尝试创建坏分隔符列表,不如对允许包含

我一直试图从这个字符串中删除一个千分位符,但没有成功

我尝试了
trim()
替换(“\\s”)
和unicode值,如
'\u00A0'
'\u2007'
'\u202F'
,但没有成功。下图显示了字符串


您看到的字符是一个不间断空格:
\u00a0
。您可以使用
String.replace来摆脱它,例如

value = value.replace("\u00a0", "");

通常,在过滤用户输入时,尝试删除所有坏字符是一个坏主意,您只需要保留好字符:),因此,与其尝试创建坏分隔符列表,不如对允许包含在数字中的字符列表求反

value = value.replace("[^0-9.+-]", "");

首先,它为什么会存在,可以通过更改格式化数字的代码来解决这个问题吗?这个值来自外部源(api),由于空格的原因,我似乎无法将它转换为BigDecimal。只需替换所有不是数字的内容或
[.+-]
使用空字符串时,我也尝试过替换空字符串。不,正如你在我的帖子中看到的那样,我尝试过替换。或者大写字母“a”和\u00a0中的“a”之间有区别吗?没有区别。它是相同的unicode字符:160十进制,就像你的屏幕截图一样,00A0十六进制。这很有效,但有趣的是,我以前确实尝试过这个