我想在每个管道前面插入一个反斜杠:
// What i want
MyList.replaceAll(item -> item.replaceAll("|" , "\|"));
// what i´ve tried that does not work
MyList.replaceAll(item -> item.replaceAll("\\|" , "\\|"));
执行代码时,我得到“字符串文字中的非法转义字符”。
感谢您的帮助 谢谢:D
最佳答案
那么你想在字符串中使用反斜杠吗?这是一个不错的益智游戏:
String item = "This | is | a | sample".replaceAll("\\|" , "\\\\|");
System.out.println(item);
打印:
This \| is \| a \| sample
这是为什么?
在 Java 字符串文字中,您必须使用另一个反斜杠来转义文字反斜杠。这同样适用于特殊的正则表达式符号。因此,在上面的示例中,您想要匹配每个文字 |
,因此我们在其前面放置一个 \
(正则表达式转义)和另一个 \
(第一个 \
的 Java 字符串转义)。
关于java - 如何在每个管道前面插入反斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58484158/