StringTokenizer类是一个用来对String进行分词编辑的应用类,类似于Java String 类中的split函数.
构造函数
//StringTokenizer有三个构造参数公共字符串tokenizer (stringstr ) public string tokenizer (stringstr,String delim ) pupup
其中,前两个构造函数直接调用;第三个构造函数创建一个StringTokenizer实例,参数str代表要分割的字符串,参数delim为一个分割标识符集合,参数returnDelims表示是否返回分割标识符.在没有指定分割标识符的情况下,默认是"tnrf".
源码:
常用方法
首先,先理解本类中Token的概念.StringTokenizer类的作用就是对给定的字符串进行分割,而分割后的元素就是Token.比如"This is a java programmer!“这个字符串按照空格来分割,那个分割后就是"This”,“is”,“a”,“java”,"programmer!"五个字符串,也就是5个Token.
//现在,让我们看看如何返回与publicbooleanhasmoreelements (//hasmoretokens方法相同的值,这是一种常见的方法。 public boolean hasMoreTokens ()//测试此令牌记录器字符串中是否有令牌可用。 公共对象nextelement返回与nextToken方法相同的值,但声明的返回值是对象而不是字符串。 public String nextToken以下tokenpublicstringnexttoken (字符串delim (//分隔符到下一个Tokenpublic int countTokens )//Token的
Demo1 —— 默认分隔符
public class demo 01 { publicstaticvoidmain (字符串[ ] args ) } ({ String str=) )梧桐说,全城的灯光透过她的叶子,窗外被夜风笼罩,花了一段时间后退的光景(谁一个人去赴宴);右边座位上有被烫金的新娘的名字,很亲切);弄巧成拙, 曾经我独自坐在曾梦里,出现在陌生人中,当主持人走在热场的时候,你和他含情脉脉对视的回忆躲在角落里不见踪影,我想今天错过的人不会回到以前的你,StringTokenizer对象while(tokenizer.hasmoretokens () (string token=tokenizer.next token ) ); system.out.println (count '.' token; 出局; } System.out.println ('分割总数为' ((count-1 ) ); }
Demo2 —— 自定义分隔符
公共类演示02 { publicstaticvoidmain (string [ ] args ) stringstr=' https://blog.csdn.net/QQ _ 45797116? spm=1011.2124.3001.5343 '; stringtokenizertokenizer=new string tokenizer (str,'.'; int count=1; while(tokenizer.hasmoretokens () (system.out.println ) count'.'tokenizer.nexttoken ) ); 出局; } System.out.println (使用'分隔符.后共享' (count-1 ) '个。' ); }
Demo3 —— 包含分隔符本身
public class demo 03 { publicstaticvoidmain (string [ ] args ) stringstr=' https://blog.csdn.net/QQ _ 45797116? spm=1011.2124.3001.5343 '; stringtokenizertokenizer=new string tokenizer (str,'.',true ); int count=1; while(tokenizer.hasmoretokens () (system.out.println ) count'.'tokenizer.nexttoken ) ); 出局; } System.out.println (使用'分隔符.后共享' (count-1 ) '个。' ); }