Логика разделения строк в J2ME

Я разрабатываю приложение J2ME.

Я хочу разделить следующую строку на "<br>" и запятую:

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

Как я могу это сделать?


person Vikas    schedule 18.03.2009    source источник
comment
извините, но между этими двумя записями есть тег br   -  person Vikas    schedule 18.03.2009
comment
Я исправил форматирование, чтобы ‹br› был очевиден.   -  person Eddie    schedule 18.03.2009
comment
Вы можете просто использовать StringTokenizer класс   -  person Lucifer    schedule 21.05.2012


Ответы (1)


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

Приведенный выше метод позволит вам разделить строку по переданному разделителю, подобно String.split() в J2EE. Итак, сначала разделите строку на теге разрыва строки, а затем сделайте это на каждом смещении возвращаемого массива для запятой ",". например

 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]);     
 }
person karim79    schedule 18.03.2009
comment
Следует читать: // Get the last node if (!"".equals(original_element)) { nodes.addElement(original_element); } - person Mr_and_Mrs_D; 08.03.2012
comment
Почему вы отменили мою правку? Есть ошибка - я столкнулся с ней, используя ваш код - если строка имеет форму <string><separator>, результат будет [<string>, ""] - Пожалуйста, исправьте! - person Mr_and_Mrs_D; 08.03.2012