Java String trim无效

Ter*_* Li 19 java string unicode spaces trim

Java String trim不会为我删除空格字符.

String rank = (some method);
System.out.println("(" + rank + ")");
Run Code Online (Sandbox Code Playgroud)

输出是(1 ).注意1右边的空格.

我必须从字符串中删除尾随空格,rank但既不删除它rank.trim()也不rank.replace(" ","")删除它.

rank无论哪种方式,字符串都保持不变.

编辑:完整代码 ::

Document doc = Jsoup.connect("http://www.4icu.org/ca/").timeout(1000000).get();
Element table = doc.select("table").get(7);
Elements rows = table.select("tr");
for (Element row: rows) {
  String rank = row.select("span").first().text().trim();
  System.out.println("("+rank+")");
}
Run Code Online (Sandbox Code Playgroud)

为什么我不能删除那个空间?

Baz*_*Baz 53

该网站的源代码显示了特殊的html字符 .尝试在java字符串中搜索或替换以下内容:\u00A0.

这是一个不容易破碎的空间.请参阅:我有一个带有"\ u00a0"的字符串,我需要将其替换为""str_replace失败

rank = rank.replaceAll("\u00A0", "");
Run Code Online (Sandbox Code Playgroud)

应该管用.也许添加一个双\\而不是\.

  • @TerryLi看,如果您提供足够的信息,我们可以帮助您.很高兴我能帮助你 :) (3认同)

das*_*ght 6

您应该将修剪结果分配给String变量.否则它不会起作用,因为Java中的字符串是不可变的.

String orig = "    quick brown fox    ";
String trimmed = original.trim();
Run Code Online (Sandbox Code Playgroud)