2016-01-07 38 views
0

在我的android应用程序,我想分割一个数组值到另一个数组。android拆分字符串不能正常工作

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

Peter|Mustermann

现在我想分裂彼得和Mustermann,我试试这个:

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

但ArrayB的日志[0]和ArrayB [1]将不是:

Peter

而且

Mustermann

这将是:

P

而且

nothing

任何想法? :(

+2

看看这个:http://stackoverflow.com/questions/6965642/android-split-not-working-correctly?rq=1 – LordRaydenMK

回答

0

只需使用一个单引号

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

它不适合我。它通过char分割ArrayA [0] char。它不需要'|'作为分隔符。 – deinier

3

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

+1

比我得到的错误:非法转义字符 – SpecialFighter

+0

感谢马文。更新 – erg

1

你必须使用它,如下所示:

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

为“\”是一个特殊的字符也(连同|),两个反斜杠在字符串文字将表示实际字符串中的一个反斜杠,反过来将表示匹配单个反斜杠字符的正则表达式。