Java String split ("|") 方法调用无法正常工作

标签 java string split

<分区>

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);
        }
    }
}

该程序使用字符串 str2 可以正常工作,但不能使用字符串 str1 该程序中可能的流程是什么?

最佳答案

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

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

关于Java String split ("|") 方法调用无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24775817/

相关文章:

linux - 拆分索引溢出 shell 脚本

python - 拆分一个fasta文件并在第一行的基础上重命名

Java Set,包含,错误结果

java - 在具有相同密度的不同 Android 设备上不同的 throw (滑动)速度

单次通过单词反转字符串

C strcpy() 在函数内部但不在 main() 上时中断

c# - 在 C# 中使用正则表达式拆分字符串

java - 任何与时间戳一起使用的高性能 Java 库?

java - OAuth2.0 - 使用 GitHub 进行身份验证,前端和后端运行在不同的服务器上。 CORS错误

java - if (string.contains) 在最终输出中混合变量放置