在android中拆分并不是很好用

时间:2013-08-15 15:29:44

标签: java android eclipse split

我有这个字符串

"ok[separador]2272[dato]HOSPITAL ISSSTE 2             [dato]Ok, Realizado correctamente[fila]48612[dato]CFE YUCALPETEN[dato]Ok, Realizado correctamente[fila]48687[dato]IMPRESOS PUBLICITARIOS[dato]Ok, Realizado correctamente[fila]"

第一步我需要通过[separador]分割2个字符串,所以我需要得到这两个字符串:

ok
2272[dato]HOSPITAL ISSSTE 2             [dato]Ok, Realizado correctamente[fila]48612[dato]CFE YUCALPETEN[dato]Ok, Realizado correctamente[fila]48687[dato]IMPRESOS PUBLICITARIOS[dato]Ok, Realizado correctamente[fila]

然后在我的代码中我有这个:

String[] arregloresultado=resultado.split("[separador]");

但我得到一个包含这些值的数组

[", k[, , , , , , , , , ]2272[, , t, ]HOSPITAL ISSSTE 2             [, , t, ]Ok, R, , liz, , ,  c, , , , ct, m, nt, [fil, ]48612[, , t, ]CFE YUCALPETEN[, , t, ]Ok, R, , liz, , ,  c, , , , ct, m, nt, [fil, ]48687[, , t, ]IMPRESOS PUBLICITARIOS[, , t, ]Ok, R, , liz, , ,  c, , , , ct, m, nt, [fil, ]"]

我怎样才能得到我想要的结果?我希望这不是一个循环。

2 个答案:

答案 0 :(得分:5)

[separador]包含正则表达式的特殊字符。你将分为s,e,p,a,r,d, o。使用:

String[] arregloresultado=resultado.split("\\[separador\\]");

正则表达式使用一个反斜杠但Java文字需要反斜杠反斜杠,因此反斜杠。

答案 1 :(得分:1)

您的分隔符包含正则表达式元字符。为了避免这种错误你可以手动逃避它们(hexafraction的答案),或者让你像这样逃避:

String[] arregloresultado = resultado.split(Pattern.quote("[separador]"));