【问题标题】:android split string doesn't work correctly [duplicate]android拆分字符串无法正常工作[重复]
【发布时间】:2016-01-07 14:21:30
【问题描述】:

在我的 android 应用程序中,我想将一个数组值拆分为另一个数组。

我有一个名为 ArrayA 的数组。 ArrayA[0] 的日志:

彼得|穆斯特曼

现在我想拆分 Peter 和 Mustermann,我试试这个:

String [] ArrayB = ArrayA[0].split("|");

但是 ArrayB[0] 和 ArrayB[1] 的 Log 不会是:

彼得

穆斯特曼

它将是:

P

什么都没有

有什么想法吗? :(

【问题讨论】:

标签: android


【解决方案1】:

public String[] split(String regex) 使用正则表达式。

在正则表达式中| 是一个保留字符,所以尝试使用它来转义它

String [] ArrayB = ArrayA[0].split("\\|");

有关其他保留字符的更多信息,请参见此处:http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html#sum

在此处查看可编译示例:http://ideone.com/fjXNoJ

【讨论】:

  • 比我得到错误:非法转义字符
  • 感谢马文。更新
【解决方案2】:

您将按如下方式使用它:

String [] ArrayB  = Array[0].trim().split("\\|");

由于 '\' 也是一个特殊字符(与 | 一起),字符串字面量中的两个反斜杠将意味着实际字符串中的一个反斜杠,这反过来表示匹配单个反斜杠字符的正则表达式。

【讨论】:

    【解决方案3】:

    只需使用单引号

    String [] ArrayB = ArrayA[0].split('|');
    

    【讨论】:

    • 它对我不起作用。它按字符拆分 ArrayA[0] 字符。它不需要'|'作为分隔符。
    猜你喜欢
    • 2014-05-31
    • 2011-10-21
    • 1970-01-01
    • 1970-01-01
    • 2015-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-10
    相关资源
    最近更新 更多