1

我对android很陌生..你能帮我解决这个问题吗?我有一个字符串

DOCOMOBH-TATA DOCOMO Mobile Bihar-SRSBL53-DOCOMOBH

我必须得到第三个元素。即SRSBL53

我已经做到了。

StringTokenizer stringTokenizer = new StringTokenizer(billerlist, "-");
String strBillerId = stringTokenizer.nextToken();

因此,我得到了第一个元素 DOCOMOBH。但是如何获得第三个元素。谢谢。

4

3 回答 3

1

你可以split(regex)在你的String

String billerlist = "DOCOMOBH-TATA DOCOMO Mobile Bihar-SRSBL53-DOCOMOBH";

String[] array = billerlist.split("-");
if(array.length>2){
    String thirdElement = array[2];
}    
于 2013-09-05T13:20:49.373 回答
0

尝试使用TextUtils.StringSplitter,aStringTokenizer必须读取至少 n 个令牌才能确定哪个是第 n 个。因此,使用创建字符串数组可能更容易StringSplitter

TextUtils.StringSplitter splitter = new TextUtils.SimpleStringSplitter("-");

splitter.setString(billerList);
if(splitter.size>2){
    String myString = splitter[2];
}
于 2013-09-05T13:17:18.983 回答
0

其他人提供了优化的答案,但为了回答您正在尝试的内容,请参阅以下代码

    String billerlist = "DOCOMOBH-TATA DOCOMO Mobile Bihar-SRSBL53-DOCOMOBH";
    StringTokenizer stringTokenizer = new StringTokenizer(billerlist, "-");
    String requiredData = null; //local variables must be initialized before using
     int count = 1;
    while(stringTokenizer.hasMoreTokens()) {
        String data = stringTokenizer.nextToken();
        if(count == 3) {
            requiredData = data;
        }
        count++;
    }
    if(requiredData != null) {
        System.out.println("Required data is " + requiredData);
    }
    else {
        System.out.println("Required data not present");
    }

输出是

Required data is SRSBL53
于 2013-09-05T13:35:04.123 回答