java - 分割字符串java

标签 java string split

如果我传递一个 |,我刚刚注意到 .split() 函数有些奇怪。对它来说,它将字符串拆分为字符。我测试了它:

String s = "Hiya there | how are you | im fine thanks";
for(String str : s.split("|")) {
    System.out.println(str);
}

并将其拆分为单独的字符。我尝试反斜杠它,但没有用。

有谁知道如何将它实际拆分为 | ?

最佳答案

String#split 以正则表达式作为参数,其中 | 具有特殊含义,用于交替

您可以使用两种方法让自己摆脱困境:-

  1. 转义|。请记住,在 Java 中您需要使用双反斜杠:-

    s.split("\\|");
    
  2. 使用字符类:-

    s.split("[|]");
    

在一个字符类中,除了-之外的任何字符,也用在中间,没有任何特殊意义。所以,[|] 只是一个 | 而已。

是的,您还需要按照@JanDvorak 评论中指定的字符类 转义]

关于java - 分割字符串java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14223938/

相关文章:

ruby - 如何使用ruby提取字段

java - 我什么时候应该使用哪个命令通过 java (neo4j) 运行 Cypher 查询?

java - 将 Jersey 项目转换为标准 Servlet 应用程序的起点

java - 如何从 Android 应用程序强制连接到特定的 GSM 网络

c# - 从列表创建字符串对 - 茶任何人?

mysql - 如何将值拆分为多行(MySQL)

java - 如何制作不会静默失败的可运行 Jar 程序?

python - 将单引号替换为双引号 python pandas 数据框

c - 如何计算C中相同字符的个数?

java - 如何分割用户输入的字符串