0

我需要一个我拥有的项目的帮助,我完全被困在这里。

我尝试使用 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;
}

但这样也行不通。在这里我试过了,但我不知道为什么只给我字符串的字符。

请问你能帮我吗?谢谢!!!!

4

1 回答 1

4

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

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

String[] tokens = auxiliar2.split("\\+");
于 2013-11-12T16:53:15.593 回答