我有一个字符串,其中包含普通文本和介于两者之间的 Unicode,例如“abc\ue415abc”。
我想用 \u
替换所有出现的 \\u
。我怎样才能做到这一点?
我使用了以下代码,但它无法正常工作。
String s = "aaa\\u2022bbb\\u2014ccc";
StringBuffer buf = new StringBuffer();
Matcher m = Pattern.compile("\\\\u([0-9A-Fa-f]{4})").matcher(s);
while (m.find()) {
try {
int cp = Integer.parseInt(m.group(1), 16);
m.appendReplacement(buf, "");
buf.appendCodePoint(cp);
} catch (NumberFormatException e) {
}
}
m.appendTail(buf);
s = buf.toString();
请帮忙。提前致谢。
最佳答案
来自 API 引用:http://developer.android.com/reference/java/lang/String.html#replace(java.lang.CharSequence , java.lang.CharSequence)
你可以使用公共(public)
public String replace (CharSequence target, CharSequence replacement)
string = string.replace("\\u", "\u");
or
String replacedString = string.replace("\\u", "\u");
关于java - 在java字符串中用\u替换\\u,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21028089/