Blackberryで文字列を分割する方法を知りたいstr.split()関数が使用できないようです
質問する
1516 次
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 に答える