我想在每次有一個|
時分割一個字符串,但split
方法只接受一個正則表達式。正則表達式|
在每個字母后面分割字符串,這不是我想要的。 使用\u007C
也做同樣的事情。Java String.split(正則表達式)不起作用
我試過使用\|
,但這只是給我:Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\)
。
我想在每次有一個|
時分割一個字符串,但split
方法只接受一個正則表達式。正則表達式|
在每個字母后面分割字符串,這不是我想要的。 使用\u007C
也做同樣的事情。Java String.split(正則表達式)不起作用
我試過使用\|
,但這只是給我:Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\)
。
你需要做這樣的事情:
\\|
的原因是,爲了讓正則表達式「|」被視爲「|」而不是作爲一個正則表達式運算符,您需要「\」。但在java中,你不能只在字符串中寫「\」,因爲這是一個字符串中的保存操作符。所以你必須做\\
。希望解釋它。
退出反斜槓。你在一個Java字符串中,它應該包含一個文字反斜槓。
"\\|"
Works的我:
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] */
}
}
另一種建議是使用Pattern.quote("|")
。