StringTokenizer类就是做分隔符来使用的
如果用String类的split()方法,split方法里的字符串如果在正则表达式里的,就会跑出异常,如“?+”等字符串
现在来看StringTokenizer的用法:
1.构造函数
1、public StringTokenizer(String str)
- 构造一个用来解析str的StringTokenizer对象。java默认的分隔符是“空格”、“制表符(‘\t’)”、“换行符(‘\n’)”、“回车符(‘\r’)”。
2、public StringTokenizer(String str, String delim)
- 构造一个用来解析str的StringTokenizer对象,并提供一个指定的分隔符。
public StringTokenizer(String str, String delim, boolean returnDelims)
3、public StringTokenizer(String str, String delim, boolean returnDelims)
- 第一个参数就是要分隔的String,第二个是分隔字符集合,第三个参数表示分隔符号是否作为标记返回,如果不指定分隔字符,默认的是:”\t\n\r\f”
2.核心方法
public boolean hasMoreTokens():是否有下一个分割后的字符串
public String nextToken():下一个字符串
public String nextToken(String delim):下一个字符串一delim分隔
public int countTokens():分隔数组个数
/**
* 使用StringTokenizer类将字符串按分隔符转换成字符数组
* @param string 字符串
* @param divisionChar 分隔符
* @return 字符串数组
*/
public static String[] stringToCharArry(String string, String divisionChar)
{
int i = 0;
StringTokenizer tokenizer = new StringTokenizer(string, divisionChar);//返回的是StringTokenizer对象,不是数组
String[] str = new String[tokenizer.countTokens()];
while (tokenizer.hasMoreTokens())
{
str[i] = tokenizer.nextToken();
i++;
}
return str;
}