J2ME

2009-03-18 16 views
9

içinde dize mantığı ayrıştırma Bir J2ME uygulaması geliştiriyorum.J2ME

Ben "<br>" & virgül aşağıdaki dizeyi bölmek istediğiniz

:

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

Bunu nasıl yapabilirim

?

+0

üzgünüm ama
açıktır yüzden biçimlendirme sabit – Vikas

+0

bu iki kayıtlar arasında bir br etiketi vardır. – Eddie

+0

Sen Basitçe okumak mı 'StringTokenizer' Class – Lucifer

cevap

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; 
} 

yukarıdaki yöntem çok J2EE en string.split gibi(), geçtin ayırıcı hakkında bir dize bölmek izin verir. Bu yüzden ilk önce satır sonu etiketindeki dizeyi ayırın ve sonra, "," virgül için döndürülen dizinin her ofsetinde yapın. , ör.

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]);  
} 
+0

kullanabilirsiniz: ' // son düğümü eğer alın { \t nodes.addElement (original_element); ("" eşittir (original_element)!.) } ' –

+0

Düzenlemeyi neden geri aldınız? Bir hata var - kodunuzu kullanarak çalıştırıyorum - dize 'şeklinde ise, sonuç [," "]' olacaktır - Lütfen düzeltin! –

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); 
İlgili konular