Логика разделенных строк в J2ME - PullRequest
9 голосов
/ 18 марта 2009

Я занимаюсь разработкой приложения J2ME.

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

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

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

Ответы [ 2 ]

18 голосов
/ 18 марта 2009
  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]);     
 }
1 голос
/ 24 сентября 2011
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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...