Java 字符串拆分(“|”) 方法调用无法正常工作

2022-09-03 16:20:50
public class SplitStr {

    public static void main(String []args) {
        String str1 = "This | is | My | Account | For | Java|";
        String str2 = "This / is / My / Account / For / Java/";
       // String[] arr = str.split("|");

        for(String item : str1.split("|")) {
            System.out.print(item);
        }
    }
}

该程序在使用 String str2 时工作正常,但在使用 String str1 时无法正常工作 此程序中有哪些可能的流程?


答案 1

String#split()期望正则表达式作为第一个参数,并且是正则表达式中的控制字符。|

要使正则表达式解析器理解您的意思是按文本拆分,您需要传递给正则表达式解析器。但是是 Java 字符串文本中的控制字符。因此,要使 Java 编译器了解要传递给正则表达式解析器,您需要传递给该方法。|\|\\|"\\|"String#split()


答案 2

str1.split("\\|")

而不是

str1.split("|")

你需要逃避|