StringTokenizer和Split不起作用

时间:2013-11-12 16:50:45

标签: java android

我需要一只手拿着我的项目而且我完全被困在这里。

我尝试使用SringTokenizer:

StringTokenizer st = new StringTokenizer(auxiliar2, "+");
while (st.hasMoreElements()) {
    try{
        Textos seleccion = new Textos();
        seleccion.setBook(st.nextElement().toString());
        seleccion.setSection(st.nextElement().toString());
        seleccion.setMemorization(st.nextElement().toString());
        texto.add(seleccion);
    }finally{           
    }
}

在StringTokenizer中让我第一个循环正确,但是当它执行第二个循环时它没有找到下一个元素 seleccion.setMemorization(st.nextElement()的toString()); 然后我读到分裂比我用它更好。

String[] tokens = auxiliar2.split("+");
for (int x = 0; x < tokens.length-1 ; x++ ){
    Textos seleccion = new Textos();
    seleccion.setBook(tokens[x].toString());
    seleccion.setSection(tokens[x+1].toString());
    seleccion.setMemorization(tokens[x+2].toString());
    texto.add(seleccion);
    x = x+2;
}

但是这样它也没用。我试过这里,但我不知道为什么只给我字符串的字符。

你能帮助我吗?感谢!!!!

1 个答案:

答案 0 :(得分:4)

split method将正则表达式作为参数,+在正则表达式中具有特殊含义。

使用反斜杠+转义\,然后转义Java的反斜杠本身。

String[] tokens = auxiliar2.split("\\+");