我必须将字符串中的一些特殊字符编码为数值。 说,
String name = "test $#";
我想在上面的字符串中只编码字符$
和#
。我尝试使用下面的代码,但它没有成功。
String encode = URLEncoder.encode(StringEscapeUtils.escapeJava(name), "UTF-8");
编码值类似于,对于空格,编码值为 
答案 0 :(得分:0)
如何将该字符串(通过字符串#flit方法 - 空格作为正则表达式)拆分,从Array返回,您可以使用最后一项,然后您将获得所需的符号:)
String name = "test $#";
String nameSplittedArr = name.split(" ");
String yourChars = nameSplittedArr[nameSplittedArr.length-1]; //indexes from zero
这应该有效:)
答案 1 :(得分:0)
根据评论,我认为您正在使用自定义编码功能。类似的东西:
public static String EncodeString(String text) {
StringBuffer sb = new StringBuffer();
for (char c : text.toCharArray()) {
if (Character.isLetterOrDigit(c)) {
sb.append(c);
} else {
sb.append("&#" + (int)c + ";");
}
}
return sb.toString();
}
这方面的一个例子是here。