0

Blackberryで文字列を分割する方法を知りたいstr.split()関数が使用できないようです

4

4 に答える 4

2

これをチェックしてください、シンプルなもの

     public static String[] split(String str, char c) {
        int index = str.indexOf(c);
        int count = 0;
        for (int i = 0; i < str.length(); i++) {
            if (str.charAt(i) == c)
                count++;
        }

        String[] words = new String[++count];
        int counter = 0;
        while (index >= 0) {
            words[counter] = str.substring(0, index);
            str = str.substring(index + 1,str.length()).trim();
            counter++;
            index = str.indexOf(c);
        }

        words[counter] = str;           
        return words;
    }
于 2012-06-06T05:53:38.573 に答える
1

そうです、split() 関数は Blackberry API では提供されていません。私はそれを使用する必要があるので、この方法で作成しました。あなたにも役立つかもしれません。

public static String[] split(String original, String separator) {

    Vector nodes = new 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);       
    }       
    nodes.addElement(original);              
    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("Value inside result is ........ "+ result[loop]);           
        }       
    }      
    return result;   
}
于 2012-06-06T05:32:12.000 に答える
0

@YAK:これを試してみてください。

public void split(String Word,Char delimiter)
String[] arr = new String[5];
    String text = "pen, pencil,book,123,note";
    text=text+delimiter;
    int n = 0;
    for (int i = 0; i < text.length(); i++)
    {
            int s = text.indexOf(delimiter);
            add(new RichTextField(Integer.toString(s)));
            if(s==0)
            {
             arr[n]="null";
             if(text.length()>1)
             {
             text = text.substring(1,text.length());
             i = 0;
                n++;
             }
            }
            else
            {
            arr[n] = text.substring(0, s);
            s = s + 1;
            text = text.substring(s,text.length());
           // add(new RichTextField("txt"+text));
            i = 0;
            n++;
            }       

    }
    for (int i = 0; i < arr.length; i++)
    {
        if (arr[i] != null)
        {
            add(new RichTextField("value: "+arr[i]));

        }

    }  
于 2012-06-06T13:32:48.777 に答える