在java字符串中将\\u替换为\u
我有一个字符串,其中包含普通文本和Unicode,例如“abc\ue415abc”。 我想用在java字符串中将\\u替换为\u,java,string,Java,String,我有一个字符串,其中包含普通文本和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()) {
\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();
请帮忙。提前感谢。试试这个:
s = s.replace(s.indexOf("\\u"), "\u");
字符串中有
包含
方法和替换
方法。话虽如此
String hello = "hgjgu\udfgyud\\ushddsjn\hsdfds\\ubjn";
if(hello.contains("\\u"))
hello.replace("\\u","\u");
System.out.println(hello);
它将打印:-hgjgu\udfgyud\ushdsjn\hsdfds\ubjn来自API参考:java.lang.CharSequence)
你可以使用public
public String replace (CharSequence target, CharSequence replacement)
string = string.replace("\\u", "\u");
or
String replacedString = string.replace("\\u", "\u");
实际上,您的初始字符串没有任何双反斜杠
String s = "aaa\\u2022bbb\\u2014ccc";
生成一个包含aaa\u2022bbb\u2014ccc
的字符串,因为\
只是\
的java字符串文本转义
如果需要unicode字符:(StackOverflow21028089.java)
=>
如果您想要aaa\u2022bbb\u2014ccc
,这就是您开始的地方。如果要以aaa\\u2022bbb\\u2014ccc
开头的字符串文字,则如下所示:
String s = "aaa\\\\u2022bbb\\\\u2014ccc";
将其转换为带有单斜杠的代码可以像@Overv的代码一样简单:
s = s.replaceAll("\\\\u", "\\u");
尽管反斜杠在正则表达式模式和替换中有特殊的含义(参见)(除了java解析之外),但它可能是:
s = s.replaceAll("\\\\\\\\u", "\\\\u");
=>
它不工作,您好。替换(“\\u”,“\u”);给出含有番石榴的无效UnicodeWith错误:String str=CharMatcher.anyOf(“\\u”).replaceFrom(yourString,“\u”);很高兴为您提供帮助!
s = s.replaceAll("\\\\u", "\\u");
s = s.replaceAll("\\\\\\\\u", "\\\\u");
aaa\u2022bbb\u2014ccc