转义 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中文网其他相关文章!