我正在使用StringToken类来标记我的输入,如下所示:
StringTokenizer tokens = new StringTokenizer(input);
n = tokens.countTokens();
a = tokens.nextToken()
但是,我发现拆分更有效率,有没有办法获取令牌数量(而不是countTokens)以及如果我使用拆分获取下一个令牌的方法?
答案 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
}
这就是你要找的东西吗?