我想在每次有 a 时拆分一个字符串|
,但该split
方法只接受一个正则表达式。正则表达式|
在每个字母之后拆分字符串,这不是我想要的。使用\u007C
也做同样的事情。
我尝试使用\|
,但这只是给了我:Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ )
。
你需要做这样的事情:
\\|
原因是在正则表达式中为了“|” 被视为“|” 而不是作为正则表达式运算符,您需要“\”。但是在java中你不能只在字符串中写“\”,因为那是字符串中的保存操作符。所以你必须这样做\\
。希望能解释一下。
另一种建议是使用Pattern.quote("|")
.
转义反斜杠。您在一个 Java 字符串中,它应该包含一个文字反斜杠。
"\\|"
为我工作:
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] */
}
}