StringTokenizer是一个用来分隔String的应用类

StringTokenizer的构造方法

StringTokenizer(String str) StringTokenizer(String sb,String delim) // delim为分隔符号 StringTokenizer(String sb,String delim, boolean returnTokens)

  1. StringTokenizer(String str):构造一个用来解析str的StringTokenizer对象。java默认的分隔符是“空格”、“制表符(‘\t’)”、“换行符(‘\n’)”、“回车符(‘\r’)”。
  2. StringTokenizer(String str, String delim):构造一个用来解析str的StringTokenizer对象,并提供一个指定的分隔符。
  3. StringTokenizer(String str, String delim, boolean returnDelims):构造一个用来解析str的StringTokenizer对象,并提供一个指定的分隔符,同时,指定是否返回分隔符。(若returnDelims为true,则分隔符也被作为标记返回

    核心方法

  4. int countTokens():返回nextToken方法被调用的次数。

  5. boolean hasMoreTokens() :返回是否还有分隔符。
  6. boolean hasMoreElements() :结果同2。
  7. String nextToken():返回从当前位置到下一个分隔符的字符串。
  8. Object nextElement() :结果同4。
  9. String nextToken(String delim):与4类似,以指定的分隔符返回结果。

    Examples

    1. package test;
    2. import java.util.StringTokenizer;
    3. public class StringTokenizer_ {
    4. public static void main(String[] args) {
    5. String message = "1 2\n9\t8\r5";
    6. //java默认的分隔符是“空格”、“制表符('\t')”、“换行符('\n')”、“回车符('\r')”。
    7. StringTokenizer s = new StringTokenizer(message);
    8. while(s.hasMoreTokens()){
    9. System.out.println(s.nextToken());
    10. }
    11. }
    12. }
    image.png
    1. package test;
    2. import java.util.StringTokenizer;
    3. public class StringTokenizer_ {
    4. public static void main(String[] args) {
    5. String message = "1*2+9/8-5";
    6. //默认分割字符串不包含分隔符
    7. StringTokenizer s = new StringTokenizer(message,"+-*/");
    8. while(s.hasMoreTokens()){
    9. System.out.println(s.nextToken());
    10. }
    11. }
    12. }
    image.png
    1. package test;
    2. import java.util.StringTokenizer;
    3. public class StringTokenizer_ {
    4. public static void main(String[] args) {
    5. String message = "1*2+9/8-5";
    6. //包含分隔符的分割
    7. StringTokenizer s = new StringTokenizer(message,"+-*/",true);
    8. while(s.hasMoreTokens()){
    9. System.out.println(s.nextToken());
    10. }
    11. }
    12. }
    image.png