如何高效运用Java SE中的StringTokenizer类进行字符串解析?

2026-06-10 04:171阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计930个文字,预计阅读时间需要4分钟。

如何高效运用Java SE中的StringTokenizer类进行字符串解析?

%E2%80%9CStringTokenizer%E7%B1%BB%E6%98%AF%E4%B8%80%E4%B8%AA%E5%AF%B9%E5%AD%97%E7%AC%A6%E4%B8%B2%E8%BF%9B%E8%A1%8C%E5%88%86%E8%AF%8D%E7%9A%84%E7%B1%BB%EF%BC%8C%E7%94%A8%E4%BA%8E%E5%88%86%E5%88%86%E5%AD%97%E7%AC%A6%E4%B8%B2%E3%80%82%E5%AE%8C%E5%85%A8%E4%BB%A5%E4%B8%8B%E5%BC%80%E5%A4%B4%E5%86%85%E5%AE%B9%E3%80%82%E2%80%9D

javapublic class StringTokenizerExample { public static void main(String[] args) { String str=Hello, World! This is a test string.; StringTokenizer tokenizer=new StringTokenizer(str, ,.); while (tokenizer.hasMoreTokens()) { System.out.println(tokenizer.nextToken()); } }}



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 = "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 = "blog.***.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)+"个。");
}
}

如何高效运用Java SE中的StringTokenizer类进行字符串解析?



标签:使

本文共计930个文字,预计阅读时间需要4分钟。

如何高效运用Java SE中的StringTokenizer类进行字符串解析?

%E2%80%9CStringTokenizer%E7%B1%BB%E6%98%AF%E4%B8%80%E4%B8%AA%E5%AF%B9%E5%AD%97%E7%AC%A6%E4%B8%B2%E8%BF%9B%E8%A1%8C%E5%88%86%E8%AF%8D%E7%9A%84%E7%B1%BB%EF%BC%8C%E7%94%A8%E4%BA%8E%E5%88%86%E5%88%86%E5%AD%97%E7%AC%A6%E4%B8%B2%E3%80%82%E5%AE%8C%E5%85%A8%E4%BB%A5%E4%B8%8B%E5%BC%80%E5%A4%B4%E5%86%85%E5%AE%B9%E3%80%82%E2%80%9D

javapublic class StringTokenizerExample { public static void main(String[] args) { String str=Hello, World! This is a test string.; StringTokenizer tokenizer=new StringTokenizer(str, ,.); while (tokenizer.hasMoreTokens()) { System.out.println(tokenizer.nextToken()); } }}



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 = "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 = "blog.***.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)+"个。");
}
}

如何高效运用Java SE中的StringTokenizer类进行字符串解析?



标签:使