我想在网址中替换\ u。
C:\测试\冰\ utest \ university.txt
当我使用url=url.replaceAll("\\u", "\\\\u");
我收到以下错误我可能知道如何用\ u替换\ u或者转义\ u
java.util.regex.PatternSyntaxException: Illegal Unicode escape sequence near index 2
\u
答案 0 :(得分:3)
您必须像这样使用它:url=url.replaceAll("\\\\u", "\\\\\\\\u");
。 replaceAll()
的第一个参数是regex
,第二个参数是string
。
为什么呢? :
如果您查看从matcher.appendReplacement()
调用的replaceAll()
代码,您可以:
while (cursor < replacement.length()) {
char nextChar = replacement.charAt(cursor);
if (nextChar == '\\') {
因此,必须考虑每个\
,这会在代码中导致4 * 2 = 8 \
s
答案 1 :(得分:3)
你实际上可以放弃正则表达式并使用非正则表达式方法String#replace
:
String repl = "C:\\testing\\bing\\utest\\university.txt".replace("\\u", "\\\\u");
//=> C:\testing\bing\\utest\\university.txt
答案 2 :(得分:0)
url.replaceAll("\\\\u", "\\\\\\\\u")
将产生:
C:\testing\bing\\utest\\university.txt