3

我想在每次有 a 时拆分一个字符串|,但该split方法只接受一个正则表达式。正则表达式|在每个字母之后拆分字符串,这不是我想要的。使用\u007C也做同样的事情。

我尝试使用\|,但这只是给了我:Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ )

4

4 回答 4

6

你需要做这样的事情:

\\|

原因是在正则表达式中为了“|” 被视为“|” 而不是作为正则表达式运算符,您需要“\”。但是在java中你不能只在字符串中写“\”,因为那是字符串中的保存操作符。所以你必须这样做\\。希望能解释一下。

于 2013-04-10T22:16:41.743 回答
2

另一种建议是使用Pattern.quote("|").

于 2013-04-10T22:27:53.757 回答
2

转义反斜杠。您在一个 Java 字符串中,它应该包含一个文字反斜杠。

"\\|"
于 2013-04-10T22:17:24.980 回答
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] */
    }
}
于 2013-04-10T22:17:50.550 回答