2013-02-04 98 views
2

我有一个脑冻结 - 我正在运行以下(在Java中分割字符串 - 试图分隔“|”字符)。 split命令给我一个单独的字符数组而不是'|'周围的值字符。任何有用的建议将是最受欢迎的。例如,在下面的情况下,我试图在三个不同的阵列位置检索“abc”,“123456789”和“def”。java字符串拆分查询

//testKey is the following "abc|123456789|def" 
String[] keySplit = testKey.split("|"); 
//I am getting null in keySplit[0] & "a" in keySplit[1] 
+2

对于downvoters - 获得生命! –

回答

8

String#split使用正则表达式。此外,管道运营商|是正则表达式中的特殊字符(意思是)。因此,您需要在此处转义该字符:

String[] keySplit = testKey.split("\\|"); 
+1

当我刚打开一个新标签时弹出问题,已有您的答案。你能更快吗? ;)只是一个澄清 - >您是否在问题之前发布了答案? –

+0

Reimeus +1,谢谢它的工作。我会在12分钟后接受答案(SO限制) –