如何使用Java中的StringTokenizer函数来分割字符串?
在Java中,有一个名为StringTokenizer的类,可以将一个字符串分割成若干个子串,常用于字符串的解析、文本文件处理等场合。该类使用简单,功能也较为强大,本文将介绍如何使用Java中的StringTokenizer函数来分割字符串。
StringTokenizer类的构造函数
StringTokenizer类的构造函数可以接受三个参数:
1. String str: 要分割的字符串;
2. String delim: 分割字符串的分隔符;
3. boolean returnDelims: 是否返回分隔符本身。
其中,第一个参数是必须的,指定要分割的字符串,第二个参数是可选的,指定分割字符串的分隔符,默认情况下使用空格作为分隔符。第三个参数也是可选的,如果设置为true,则表示每个分隔符本身也要返回,否则只返回分隔符所分割的子串。
StringTokenizer类的方法
StringTokenizer类包含以下5个常用方法:
1. boolean hasMoreTokens(): 判断是否还有更多的子串可供分割,如果还有,则返回true,否则返回false;
2. String nextToken(): 返回下一个被分割的子串;
3. int countTokens(): 返回还剩下的未被分割的子串个数;
4. String nextToken(String delim): 以指定的分隔符来分割字符串,返回下一个被分割的子串;
5. boolean hasMoreElements(): 判断是否还有更多的子串可供分割,如果还有,则返回true,否则返回false;
使用步骤
使用StringTokenizer类分割字符串的步骤如下:
1. 创建StringTokenizer对象,通过构造函数来指定要分割的字符串和分隔符;
2. 使用hasMoreTokens()方法判断是否还有子串可供分割;
3. 使用nextToken()方法获取下一个被分割的子串;
4. 迭代调用hasMoreTokens()和nextToken()方法,直到没有子串可供分割为止;
5. 使用countTokens()方法返回还剩下的未被分割的子串个数。
例如,下面的代码演示了如何使用StringTokenizer类分割一个包含多个数字的字符串,并将其转换为整数数组:
String str = "1,2,3,4,5";
StringTokenizer st = new StringTokenizer(str, ",");
int[] nums = new int[st.countTokens()];
int i = 0;
while (st.hasMoreTokens()) {
nums[i++] = Integer.parseInt(st.nextToken());
}
for (int j = 0; j < nums.length; j++) {
System.out.print(nums[j] + " ");
}
运行结果为:1 2 3 4 5。
总结
使用Java中的StringTokenizer函数分割字符串是一种非常方便、快速的方法,它可以将一个字符串按照指定分隔符分割成若干个子串,并支持多种方法访问被分割的子串。使用时需要注意构造函数和各种方法的参数和返回值,以便正确分割字符串并获取子串。
