Java 字符串修剪没有效果

2022-09-02 02:13:13

Java字符串修剪不会为我删除空格字符。

String rank = (some method);
System.out.println("(" + rank + ")");

输出为 。请注意 1 右侧的空格。(1 )

我必须从字符串中删除尾随空格,但既不删除它也不删除它。rankrank.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+")");
}

为什么我无法删除该空间?


答案 1

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

这是一个不可打破的空间。请参阅:我有一个带有“\u00a0”的字符串,我需要将其替换为“”str_replace失败

rank = rank.replaceAll("\u00A0", "");

应该工作。也许添加一个双精度值而不是 .\\\


答案 2

应将修剪结果赋回变量。否则它将无法工作,因为Java中的字符串是不可变的String

String orig = "    quick brown fox    ";
String trimmed = original.trim();