轉義Java 中字串分割的管道符號
Java String 類別提供split() 方法將字串分割為陣列使用分隔字串符或正規表示式的子字串。當使用管道符號 (|) 進行分割時,會出現意外行為,因為管道符號是正規表示式中的元字元。
問題源自於正規表示式的規則:
因此,當使用test.split("|") 時,|字元被解釋為OR 運算符,而不是文字管道符號。要解決此問題,您需要使用.
轉義管道符號
解決方案1:轉義管道符號
String test = "A|B|C||D"; String[] result = test.split("\|");
要轉義管道符號,請使用雙反斜杠,寫為作為字串中的\。這將指示 Java |應被視為文字字符,而不是元字符。
解決方案 2:使用 Pattern.quote()
String test = "A|B|C||D"; Pattern pattern = Pattern.quote("|"); String[] result = test.split(pattern);
或者,您可以使用 Pattern .quote()方法建立管路的轉義版本
預期輸出:
>A< >B< >C< >< >D<
以上是如何在Java中正確轉義字串分割的管道符號?的詳細內容。更多資訊請關注PHP中文網其他相關文章!