2012-04-12 94 views
4

我正在創建一個應用程序,該應用程序應該使用get方法從mySql數據庫中讀取文本。在J2ME中分割文本

一旦它從數據庫中獲取數據元素作爲字符串,它應該分割字符串並使用字符串創建一個列表,但split()方法在這裏似乎不起作用。

J2ME說cannot find method split() - 我該怎麼辦?

我的代碼如下:

/* assuming the string (String dataString) has already 
been read from the database and equals one,two three 
i.e String dataString = "one,two,three"; */ 

String dataArray[]; 
String delimiter = ","; 
dataArray = dataString.split(delimiter); 

//continue and create a list from the array. 

我已經試過這在臺式機和控制檯應用程序,似乎完美地工作,但代碼不會在J2ME應用程序運行。有沒有我應該使用的方法?我能做什麼?

+3

看到這個重複的問題:我如何在J2ME分割字符串(http://stackoverflow.com/questions/200746/how-do-i -split串功能於J2ME)。 – 2012-04-12 08:40:12

+0

謝謝你。很感謝 – sammyukavi 2012-04-12 08:55:25

回答

11

這裏是一個高速的實現:

public static String[] Split(String splitStr, String delimiter) { 
    StringBuffer token = new StringBuffer(); 
    Vector tokens = new Vector(); 
    // split 
    char[] chars = splitStr.toCharArray(); 
    for (int i=0; i < chars.length; i++) { 
     if (delimiter.indexOf(chars[i]) != -1) { 
      // we bumbed into a delimiter 
      if (token.length() > 0) { 
       tokens.addElement(token.toString()); 
       token.setLength(0); 
      } 
     } else { 
      token.append(chars[i]); 
     } 
    } 
    // don't forget the "tail"... 
    if (token.length() > 0) { 
     tokens.addElement(token.toString()); 
    } 
    // convert the vector into an array 
    String[] splitArray = new String[tokens.size()]; 
    for (int i=0; i < splitArray.length; i++) { 
     splitArray[i] = (String)tokens.elementAt(i); 
    } 
    return splitArray; 
} 
+0

謝謝....這個全職工作。 – sammyukavi 2012-04-18 03:11:47

+0

歡迎你的朋友。祝你好運。 – Mbt925 2012-04-18 07:10:15