如何在每个管道前插入反斜杠
How to insert a backslash in front of each pipe
我想在每个管道前插入一个反斜杠:
// What i want
MyList.replaceAll(item -> item.replaceAll("|" , "\|"));
// what i´ve tried that does not work
MyList.replaceAll(item -> item.replaceAll("\|" , "\|"));
执行代码时我得到 "illegal escape character in string literal"。
感谢您的帮助
谢谢:D
所以你想在字符串中使用反斜杠?这是一个不错的益智游戏:
String item = "This | is | a | sample".replaceAll("\|" , "\\|");
System.out.println(item);
打印:
This \| is \| a \| sample
这是为什么?
您必须在 Java 字符串文字中使用另一个反斜杠转义文字反斜杠。这同样适用于特殊的 RegEx 符号。所以在上面的例子中,你想要匹配每个文字 |
,所以我们在它前面放一个 \
(正则表达式转义)和另一个 \
(Java 字符串转义首先 \
).
String::replaceAll
takes a regex as first parameter - on how to use it check 。
作为其他灵魂,您可以使用 String::replace
方法,该方法采用两个 CharSequence
参数:
String item = "This | is | a | sample".replace("|" , "\|");
System.out.println(item);
输出:
This \| is \| a \| sample
我使用了 mumpitz 提供的示例 - 我希望没问题:)
我想在每个管道前插入一个反斜杠:
// What i want
MyList.replaceAll(item -> item.replaceAll("|" , "\|"));
// what i´ve tried that does not work
MyList.replaceAll(item -> item.replaceAll("\|" , "\|"));
执行代码时我得到 "illegal escape character in string literal"。
感谢您的帮助 谢谢:D
所以你想在字符串中使用反斜杠?这是一个不错的益智游戏:
String item = "This | is | a | sample".replaceAll("\|" , "\\|");
System.out.println(item);
打印:
This \| is \| a \| sample
这是为什么?
您必须在 Java 字符串文字中使用另一个反斜杠转义文字反斜杠。这同样适用于特殊的 RegEx 符号。所以在上面的例子中,你想要匹配每个文字 |
,所以我们在它前面放一个 \
(正则表达式转义)和另一个 \
(Java 字符串转义首先 \
).
String::replaceAll
takes a regex as first parameter - on how to use it check
作为其他灵魂,您可以使用 String::replace
方法,该方法采用两个 CharSequence
参数:
String item = "This | is | a | sample".replace("|" , "\|");
System.out.println(item);
输出:
This \| is \| a \| sample
我使用了 mumpitz 提供的示例 - 我希望没问题:)