Java StringTokenzier

简介: Java中substring方法可以分解字符串,返回的是原字符串的一个子字符串。如果要讲一个字符串分解为一个一个的单词或者标记,StringTokenizer可以帮你。1 public static void main(String[] args) { 2 StringTokenizer st = new StringTokenizer("www.

Java中substring方法可以分解字符串,返回的是原字符串的一个子字符串。如果要讲一个字符串分解为一个一个的单词或者标记,StringTokenizer可以帮你。

1     public static void main(String[] args) {  
2      StringTokenizer st = new StringTokenizer("www.baidu.com", ".b");  
3      while(st.hasMoreElements()){  
4      System.out.println("Token:" + st.nextToken());  
5      }  
6      }  

输出:
Token:www
Token:baidu
Token:com

 

StringTokenizer有两个常用的方法:

1.hasMoreTokens()。这个方法和hasMoreElements()方法的用法是一样的,只是StringTokenizer为了实现Enumeration接口而实现的方法,从StringTokenizer的声明可以看到:class StringTokenizer implements Enumeration<Object>。

2.nextToken()。这个方法和nextElement()方法的用法是一样的,返回此 StringTokenizer 的下一个标记。

StringTokenizer的三个构造方法:

1.StringTokenizer(String str)。默认以” \t\n\r\f”(前有一个空格,引号不是)为分割符。
源码:

/**
* Constructs a string tokenizer for the specified string. The
* tokenizer uses the default delimiter set, which is
* <code>"&nbsp;&#92;t&#92;n&#92;r&#92;f"</code>: the space character,
* the tab character, the newline character, the carriage-return character,
* and the form-feed character. Delimiter characters themselves will
* not be treated as tokens.
*
* @param str a string to be parsed.
* @exception NullPointerException if str is <CODE>null</CODE>
*/
public StringTokenizer(String str) {
this(str, " \t\n\r\f", false);

  public static void main(String[] args) {  
 
     StringTokenizer st = new StringTokenizer("www baidu com");  
     while(st.hasMoreElements()){  
     System.out.println("Token:" + st.nextToken());  
     }  
     } 
 

  输出:Token:www

                  Token:baidu

                  Token:com

public static void main(String[] args) {  
 
  StringTokenizer st = new StringTokenizer("www.baidu.com", ".", true);  
 
  while(st.hasMoreElements()){  
 
  System.out.println("Token:" + st.nextToken());  
 
  }  
 
  }

输出:Token:wwwToken:.Token:baiduToken:.Token:com

目录
相关文章
|
Oracle Java 关系型数据库
什么是java
什么是java
119 0
|
算法 Java
移动零(java)
移动零(java)
76 0
|
Java
Java一些常见的坑
总是觉得自己Java基础还是不行,需要恶补。今天偶然mark了一本《Java解惑》,其中以端程序的方式罗列了95个即常见又不常见的xian(坑)jing(儿),拿来瞻仰一下。
53 0
|
Java
Java常见的坑(二)
你猜上述程序输出的是什么? 是 ABC easy as 123 吗? 你执行了输出操作,你才发现输出的是 ABC easy as [C@6e8cf4c6 ,这么一串丑陋的数字是什么鬼? 实际上我们知道字符串与任何数值的相加都会变为字符串,上述事例也不例外, numbers输出其实实际上是调用了Object.toString()方法,让numbers转变为'[c' + '@' + 无符号的十六进制数。
55 0
|
Java
java16-巩固练习
java16-巩固练习
103 0
java16-巩固练习
|
消息中间件 NoSQL 前端开发
|
Oracle Java 关系型数据库
来了来了,Java14它真的来了
语言必须发展,否则它们就有变得无关紧要的风险,” Brian Goetz (甲骨文公司)在2019年11月在 Devoxx 举行的“ Java 语言期货”演讲中说。 作为 Java 语言架构师,他扮演了一个重要的角色,尽管 Java 已经发展了25年,但仍然远远没有过时。
1012 0
|
Oracle Java 关系型数据库
下一篇
无影云桌面