几个小时以来,我一直在尝试从以下字符串中删除摄氏度符号。我查看了以前的帖子,发现 /u2103 是它的 unicode 表示。尽管试图删除该字符串,但我仍然没有运气。这是我现在拥有的:
String temp = "Technology=Li-poly;Temperature=23.0 <degree symbol>C;Voltage=3835";
StringBuilder filtered = new StringBuilder(temp.length());
for (int i = 0; i < temp.length(); i++) {
char test = temp.charAt(i);
if (test >= 0x20 && test <= 0x7e) {
filtered.append(test);
}
}
temp = filtered.toString();
temp.replaceAll(" ", "%20");
结果字符串如下所示: Technology=Li-poly;Temperature= 23.0 C ;
我也试过
temp.replaceAll("\\u2103", "");
temp.replaceChar((char)0x2103, ' ');
但这些都不起作用。
我当前的问题是过滤字符串的函数留下了一个空格,但是对 replaceAll(" ", "%20") 的调用似乎无法识别该特定空间。ReplaceAll 将用 %20 替换其他空格。