从Java中删除字符串中的空格[复制]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从Java中删除字符串中的空格[复制]相关的知识,希望对你有一定的参考价值。

这个问题在这里已有答案:

解决了,感谢Pshemo。问题是String包含一个无中断空间,可以使用以下命令删除:

val = val.replaceAll("[\s\u00A0]", "");

好吧,我遇到了一个奇怪的问题,我只是想不出来 - 或者错误很明显,我只是愚蠢。

我正在开发Java Web应用程序,用户将通过文本框输入编号值。我希望用户能够输入“100 000”,所以我自然要收集作为String对象的值,删除所有空格,并将其解析为int。

但是,String中的空格不会按预期删除。有没有人对此代码无效的原因有任何见解?

我已经尝试了所有这些;

val = val.replaceAll("\s+", "");
val = val.replaceAll("\s", "");
val = val.replaceAll(" ", "");

代码目前看起来像这样:

if(value == 0) {
    String val = request.getParameter("value");
    if(val != null) {
        val = val.replaceAll("\s", "").replaceAll(" ", "");
        try {
            value = Integer.parseInt(val);
        } catch (NumberFormatException e) {
            // Returning JSON with error;
        }
    }
}

更新:如果我不从请求中获取字符串,并将其初始化为“100 000”,它确实有效。它可能是与浏览器字符集相关的东西吗?

我也无法再提供代码 - 这直接发生在javax.servlet.http.HttpServlet#doPost中

String value = "100 000" // This works!

我希望输出没有任何剩余空格,但实际输出仍然包含空格,例如“100 000”

答案
String sss = "100 000";
    sss = sss.replaceAll(" ", "");
    System.out.println (sss);
    int x = Integer.parseInt(sss);
    System.out.println(x);

这工作得很好,你在其他地方遇到了问题。

如果您能向我们展示更多代码,我们可能会提供更多帮助。

以上是关于从Java中删除字符串中的空格[复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何删除前导和尾随的空格以及字符串中的多个空格? [复制]

Java中去除字符串中所有空格的几种方法

Java中去除字符串中所有空格的几种方法

从对象列表中的属性中删除空格? [复制]

除了文本,如何从文本中删除数字、标点、空格和特殊字符? [复制]

比较 C# 中的字符串片段并从集合中删除项目