常用类之StringTokenizer类

StringTokenizer类属于java.util包。
功能介绍:String类使用split()方法运用正则表达式分解字符串,而StringTokenizer类的对象可以直接分解字符串。 有时需要分析字符串并将字符串分解成可被独立使用的单词,这些单词叫做语言符号。 当分析一个字符串并将字符串分解成可被独立使用的单词时,可以用StringTokenizer类。

StringTokenizer 字符串分隔解析类型。如果要将一个字符串分解为一个一个的单词或者标记,StringTokenizer可以帮你。

构造函数:

StringTokenizer(String str) :构造一个用来解析str的StringTokenizer对象。java默认的分隔符是“空格”、“制表符(‘/t’)”、“换行符(‘/n’)”、“回车符(‘/r’)”。

StringTokenizer(String str, String delim) :构造一个用来解析str的StringTokenizer对象,并提供一个指定的分隔符。
StringTokenizer(String str, String delim, boolean returnDelims) :构造一个用来解析str的StringTokenizer对象,并提供一个指定的分隔符,同时,指定是否返回分隔符。

例如:

StringTokenizer fenxi=new StringTokenizer(“we are student”); //分析器将以空格为分割标记,将字符串中的三个单词分开。
StringTokenizer fenxi=new StringTokenzier(“We,are;student”,”,;”); / /分析器将一,和;为分割标记,将三个单词分开。

常用方法:

int countTokens() :返回nextToken方法被调用的次数。如果采用构造函数1和2,返回的就是分隔符数量。
boolean hasMoreElements() /boolean hasMoreTokens() :返回是否还有分隔符。
Object nextElement()/String nextToken() :返回从当前位置到下一个分隔符的字符串。
String nextToken(String delim) :从当前位置到指定的分隔符的字符串。

实例

public class StringTokenizerTest {    
  public static void main(String[] args) {
    StringTokenizer str = new StringTokenizer("www ooobj com");  
    while(str.hasMoreElements()){  
        System.out.println( str.nextToken());  
     } 
   }
}

单词获取:将分析器中分割出来的单词提取出来。
1.分析器可以使用nextToken()方法逐个获取字符串中的语言符号,即单词。每当调用nextToken()的时,都将在字符串中获得下一个语言符号。每当获取一个语言符号,字符串分析器中负责计数的变量的数目的值自动减一,该计数变量的初始值等于字符串中单词的数量。
2.通常用while循环来逐个获取语言符号,使用StringTokenizer类中hasMoreTokens()方法,判断字符串中是否还有语言符号。计数值大于0,返回true,否则false
3.分析器调用countTokens()方法得到分析器中计数变量的值。

import java.util.*;  
     public class FenXiQi{   
         public static void main(String[] args){   
             String s="I love java !";   
             StringTokenizer tokenizer=new StringTokenizer(s);   
             int number=tokenizer.countTokens();   
             while(tokenizer.hasMoreTokens()){   
                String str=tokenizer.nextToken();   
                System.out.println(str);   
                System.out.println("还剩"+tokenizer.countTokens()+"个单词");   
             }   
          }  
      }  

输出结果:
I
还剩3个单词
love
还剩2个单词
java
还剩1个单词
!
还剩0个单词

参考博客:http://blog.csdn.net/zhengdianwei/article/details/9714059

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Java中的StringTokenizer是一个用于分解字符串的工具。它允许您将一个字符串分解成多个标记(tokens),并且可以指定分隔符。 StringTokenizer的构造函数有多个重载形式,其中最常用的是: public StringTokenizer(String str, String delim) 其中,str是要分解的字符串,delim是分隔符。如果不指定分隔符,则默认使用空格、制表符、换行符等空白字符作为分隔符。 StringTokenizer有三个主要的方法: 1. hasMoreTokens():判断是否还有更多的标记。 2. nextToken():返回下一个标记。 3. countTokens():返回剩余的标记数。 使用StringTokenizer可以方便地对字符串进行分解和处理,特别是在需要处理大量文本数据时,它可以提高程序的效率。 ### 回答2: java stringtokenizer是一个基于字符串分隔符的分词器。一个字符串可以有多个分隔符,而这些分隔符可以是不止一个字符的字符串。它允许程序员按照指定的分隔符对给定的字符串进行分割,返回一个分割后的字符串数组或逐个返回分隔符连接的标记。Java示例中常用的分隔符是空格字符、逗号和冒号。 使用java stringtokenizer,程序员可以轻松处理字符串,将其分解成若干单词或子字符串。相对于截取字符串的方式,它具有更明确、更灵活、更高效以及更容易调试的特点。 这个通常以两个参数的构造函数来调用。第一个参数是要分解的字符串,第二个参数是包含要用作分隔符的字符的字符串。在构造函数中,程序员可以选择在分割后返回空白标记,并选择将分隔符作为标记包含在返回的数组或逐个返回的标记中。 如果不使用Java stringtokenizer,程序员仍可以使用String和它所包含的substring()方法和indexOf()方法来完成对字符串的分割,但java stringtokenizer提供了一种更方便和容易使用的方式来处理字符串。 在java中,需要注意的是,java stringtokenizer在多线程环境下并不是线程安全的。如果多个线程同时使用同一个stringtokenizer实例,则可能会导致不可预期的结果。因此,建议在多线程环境下使用java.util.Scanner来进行字符串分割。 ### 回答3: java中的StringTokenizer是一个用于将字符串分解为若干个标记的工具。它可以将一个字符串根据给定的分隔符分解成多个字符串,也可以将一个字符串根据空格、制表符或换行符等默认分隔符分解成多个字符串,起到了非常方便的作用。 StringTokenizer的主要方法有三个,分别为构造方法、nextToken()和hasMoreTokens()。其中构造方法有两个重载形式,一种参数是(String str),另外一种参数是(String str,String delimiters),前者将使用默认的分隔符进行字符串分解,而后者则将指定的分隔符用于字符串分解。hasMoreTokens()方法用于判断是否还有标记未被分解,nextToken()方法用于获取下一个标记内容。 使用StringTokenizer需要结合循环来实现整个字符串的分割,下面是一个使用默认分隔符进行字符串分割的示例代码: ``` String str = "I am a boy"; StringTokenizer st = new StringTokenizer(str); while(st.hasMoreTokens()){ System.out.println(st.nextToken()); } ``` 上述代码会输出以下内容: I am a boy 在使用StringTokenizer时,需要注意以下几点: 1. 如果字符串中存在多个连续分隔符,StringTokenizer默认将把它们视为一个分隔符,也就是会输出空内容的标记。如果不希望输出空内容的标记,可以使用hasMoreElements()方法代替hasMoreTokens()方法。 2. StringTokenizer属于遗留API,在Java 1.5之后推荐使用String.split()方法代替。 3. StringTokenizer是线程不安全的,如果希望在多线程环境下使用,需要做好同步处理。 Java中的StringTokenizer可以快速地将字符串按照分隔符进行拆分,并且使用起来也非常简单。在一些字符串操作中,StringTokenizer也极为实用。不过,需要注意的是,由于StringTokenizer是一个遗留的API,使用时需要注意它的一些限制和安全性问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值