【Java SE】StringTokenizer类的使用


StringTokenizer类是一个用来对String进行分词编辑的应用类,类似于Java String 类中的split函数.


构造函数

//StringTokenizer提供了三个构造参数
public StringTokenizer(String str)
public StringTokenizer(String str, String delim)
public StringTokenizer(String str, String delim, boolean returnDelims)

在这里插入图片描述

其中,前两个构造函数直接调用;第三个构造函数创建一个StringTokenizer实例,参数str代表要分割的字符串,参数delim一个分割标识符集合,参数returnDelims表示是否返回分割标识符.在没有指定分割标识符的情况下,默认是"\t\n\r\f".

源码:
在这里插入图片描述


常用方法

首先,先理解本类中Token的概念.StringTokenizer类的作用就是对给定的字符串进行分割,而分割后的元素就是Token.比如"This is a java programmer!“这个字符串按照空格来分割,那个分割后就是"This”,“is”,“a”,“java”,"programmer!"五个字符串,也就是5个Token.

// 现在来看一下常用的方法
public boolean hasMoreElements()      // 返回与 hasMoreTokens方法相同的值。  
public boolean hasMoreTokens()        // 测试此令牌化程序的字符串是否有更多的令牌可用。
public Object nextElement()           // 返回与 nextToken方法相同的值,但其声明的返回值为 Object而不是 String 。    
public String nextToken()             // 下一个Token
public String nextToken(String delim) // 根据分隔符获取下一个Token
public int countTokens()              // Token的总个数

在这里插入图片描述


Demo1 —— 默认分隔符

public class demo01 {
    
    
    public static void main(String[] args) {
    
    
        String str = "梧桐树荫了整条街 灯火穿透了她的叶 窗外夜风裹走时间 后退的景谁在流连 一个人开车去赴宴 右座有张烫金喜帖 新娘的名字好亲切 搞不好曾梦里出现 孤单坐进一桌陌生人里面 主持人在进行热场的环节 你和他含情脉脉对视了一眼 回忆陪我躲在角落没露面 当时的我想不到今天 错过的人回不到从前 当时的你静静坐在我的左手边 梧桐灯下是你静美的侧脸";
        // 创建一个StringTokenizer对象
        StringTokenizer tokenizer = new StringTokenizer(str);
        int count = 1;
        while (tokenizer.hasMoreTokens()){
    
    
            String token = tokenizer.nextToken();
            System.out.println(count+"."+token);
            count++;
        }
        System.out.println("分割的总数为:"+(count-1));
    }
}

在这里插入图片描述


Demo2 —— 自定义分隔符

public class demo02 {
    
    
    public static void main(String[] args) {
    
    
        String str = "https://blog.csdn.net/qq_45797116?spm=1011.2124.3001.5343";
        StringTokenizer tokenizer = new StringTokenizer(str,".");
        int count = 1;
        while (tokenizer.hasMoreTokens()){
    
    
            System.out.println(count+"."+tokenizer.nextToken());
            count++;
        }
        System.out.println("使用分隔符 . 后,共有"+(count-1)+"个。");
    }
}

在这里插入图片描述


Demo3 —— 包含分隔符本身

public class demo03 {
    
    
    public static void main(String[] args) {
    
    
        String str = "https://blog.csdn.net/qq_45797116?spm=1011.2124.3001.5343";
        StringTokenizer tokenizer = new StringTokenizer(str,".",true);
        int count = 1;
        while (tokenizer.hasMoreTokens()){
    
    
            System.out.println(count+"."+tokenizer.nextToken());
            count++;
        }
        System.out.println("使用分隔符 . 后,共有"+(count-1)+"个。");
    }
}

在这里插入图片描述


猜你喜欢

转载自blog.csdn.net/qq_45797116/article/details/115185973