lógica Separa strings em J2ME

votos
9

Estou desenvolvendo um aplicativo J2ME.

Quero dividir a seguinte cadeia de caracteres <br>e vírgula:

3,toothpaste,2<br>4,toothbrush,3

Como posso fazer isso?

Publicado 18/03/2009 em 11:04
fonte usuário
Em outras línguas...                            


2 respostas

votos
18

  private String[] split(String original,String separator) {
    Vector nodes = new Vector();
    // Parse nodes into vector
    int index = original.indexOf(separator);
    while(index >= 0) {
        nodes.addElement( original.substring(0, index) );
        original = original.substring(index+separator.length());
        index = original.indexOf(separator);
    }
    // Get the last node
    nodes.addElement( original );

     // Create split string array
    String[] result = new String[ nodes.size() ];
    if( nodes.size() > 0 ) {
        for(int loop = 0; loop < nodes.size(); loop++)
        {
            result[loop] = (String)nodes.elementAt(loop);
            System.out.println(result[loop]);
        }

    }
   return result;
}

O método acima permitirá que você dividir uma string sobre o separador passado, bem como String.split do J2EE (). Então, primeiro dividir a string na linha de tag de quebra, e depois fazê-lo em cada deslocamento da matriz retornou para a "" vírgula. por exemplo

 String[] lines = this.split(myString,"<br>");
 for(int i = 0; i < lines.length; i++) 
 {
      String[] splitStr = this.split(lines[i],",");
      System.out.println(splitStr[0] + " " + splitStr[1] + " " + splitStr[2]);     
 }
Respondeu 18/03/2009 em 11:35
fonte usuário

votos
1
private String[] split(String original, String separator, int count)
{
    String[] result;
    int index = original.indexOf(separator);
    if(index >= 0)
        result = split(original.substring(index + separator.length()), separator, count + 1);
    else
    {
        result = new String[count + 1];
        index = original.length();
    }
    result[count] = original.substring(0, index);
    return result;
}

String[] lines = this.split(myString,"<br>",0);
Respondeu 24/09/2011 em 08:45
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more