使用split来标记输入

时间:2014-12-11 15:31:55

标签: java split token

我正在使用StringToken类来标记我的输入,如下所示:

StringTokenizer tokens = new StringTokenizer(input); 
n = tokens.countTokens();
a = tokens.nextToken()

但是,我发现拆分更有效率,有没有办法获取令牌数量(而不是countTokens)以及如果我使用拆分获取下一个令牌的方法?

3 个答案:

答案 0 :(得分:0)

你可以这样做:

String str = "aa,bb,cc,dd";
String[] token = str.split(",");

System.out.println("Size of tokens: " + token.length);

//Printing out all tokens
for(int x=0; x<token.length; x++)  //A few different ways to print out the token values
    System.out.println(token[x]);

string.split()方法会返回string array。所以现在您可以将每个标记元素视为字符串数组元素。在上面的代码中,token只是一个String数组。

输出:

Size of tokens: 4
aa
bb
cc
dd

这是你想要的吗?

答案 1 :(得分:0)

这可能就是你要找的东西:

String str = "A,B,C,D";
String[] token = str.split(",");
ArrayList<String> tokList = new ArrayList<String>(Arrays.asList(token));
Iterator<String> tok = tokList.iterator();

while(tok.hasNext())                //Check whether next element exsit
    System.out.print(tok.next());   //Print out the token string 1 by 1

节目输出: ABCD

答案 2 :(得分:0)

假设您有String abcd = "a-b-c-d"; 您可以对此进行拆分。你会得到:String[] stringArray = abcd.split("-"); 如果你有StringArray,你可以使用stringArray.length来获得大小(并将结果保存到int。 如果你想获得&#34;下一个标记&#34;,你可以简单地遍历数组:

for (int i = 0; i < stringArray.length; i++) {
    String tempString = stringArray[i];
    //do something with the String
}

这就是你要找的东西吗?