我想在每次有|
时拆分字符串,但split
方法只接受正则表达式。正则表达式|
在每个字母后分割字符串,这不是我想要的。
使用\u007C
也可以做同样的事情。
我尝试使用\|
,但这只是给了我:Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ )
。
答案 0 :(得分:7)
你需要做这样的事情:
\\|
原因是在正则表达式中为了“|”被视为“|”而不是作为正则表达式运算符,您需要“\”。但是在java中,你不能只在字符串中写“\”,因为它是字符串中的保存运算符。所以你必须做\\
。希望能解释它。
答案 1 :(得分:3)
另一个建议是使用Pattern.quote("|")
。
答案 2 :(得分:2)
逃避反斜杠。你是一个Java字符串,它应该包含一个文字反斜杠。
"\\|"
答案 3 :(得分:2)
适合我:
import java.util.Arrays;
public class Testing {
public static void main(String[] args){
String word= "abc|def";
String[] splitted = word.split("\\|");
System.out.println(Arrays.toString(splitted)); /* prints: [abc, def] */
}
}