StringTokenizer类使用

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;    
    }

你可能感兴趣的:(java,String)