Java me J2ME中的分裂字符串逻辑

Java me J2ME中的分裂字符串逻辑,java-me,Java Me,我正在开发一个J2ME应用程序 我想在“”&逗号处拆分以下字符串: 3,toothpaste,2<br>4,toothbrush,3 3,牙膏,24,牙刷,3 如何执行此操作?私有字符串[]拆分(字符串原始,字符串分隔符){ private String[] split(String original,String separator) { Vector nodes = new Vector(); // Parse nodes into vector

我正在开发一个J2ME应用程序

我想在

&逗号处拆分以下字符串:

3,toothpaste,2<br>4,toothbrush,3
3,牙膏,2
4,牙刷,3
如何执行此操作?

私有字符串[]拆分(字符串原始,字符串分隔符){
  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;
}
向量节点=新向量(); //将节点解析为向量 int index=original.indexOf(分隔符); 而(索引>=0){ nodes.addElement(原始子字符串(0,索引)); original=original.substring(索引+分隔符.length()); 索引=原始索引(分隔符); } //获取最后一个节点 节点。附录(原件); //创建分割字符串数组 String[]结果=新字符串[nodes.size()]; 如果(nodes.size()>0){ for(int-loop=0;loop
上面的方法将允许您围绕传递的分隔符拆分字符串,非常类似于J2EE的string.split()。因此,首先拆分换行标记上的字符串,然后在逗号返回数组的每个偏移处进行拆分。 e、 g

String[]line=this.split(myString,
); 对于(int i=0;i
私有字符串[]拆分(字符串原始、字符串分隔符、整数计数)
{
字符串[]结果;
int index=original.indexOf(分隔符);
如果(索引>=0)
结果=拆分(原始.substring(index+separator.length()),分隔符,计数+1);
其他的
{
结果=新字符串[计数+1];
index=original.length();
}
结果[计数]=原始.子字符串(0,索引);
返回结果;
}
String[]line=this.split(myString,
,0);
很抱歉,这两条记录之间有一个br标记。我修复了格式设置,因此
很明显。您只需使用
StringTokenizer
类应为:
//如果(!“”.equals(original_元素)){nodes.addElement(original_元素);},则获取最后一个节点。
为什么要还原我的编辑?有一个bug-我使用您的代码遇到它-如果字符串的形式为
,结果将是
[,“”]
-请更正!
 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]);     
 }
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);