Java中的StringTokenizer java.util.StringTokenizer类允许您将字符串分成令牌。这是打破字符串的简单方法。 StringTokenizer类的构造方法 StringTokenizer类中定义了3个构造函数。 Constructor Description StringTokenizer(String str) creates StringTokenizer with specified string. StringTokenizer类的简单示例 让我们看一下StringTokenizer类的简单示例,该类在空格的基础上标记字符串“我的名字是可汗”。 StringTokenizer类的nextToken(String delim)方法的示例 现在不建议使用StringTokenizer类。
什么是 StringTokenizer? 注:StringTokenizer 是一个字符串分词工具。 JDK 已经不建议在新代码中使用 StringTokenizer 了,建议使用正则表达式功能替换; 2. {@code String} into a {@code String} array via a * {@link StringTokenizer} Java Docs: https://docs.oracle.com/javase/8/docs/api/java/util/StringTokenizer.html
相同点: StringToKenizer类和Scanner类都可用于分解字符序列中的单词! 不同点: StringToKenizer类把分解出的全部字符串都存放到StringToKenizer对象的实体中,因此StringToKenizer对象能较快的读取字符串,但是会占用较多的内存(用空间换取速度 StringToKenizer对象一旦诞生就立刻知道分解后的字符串的数目,所以可以用countToKens()方法返回字符串的数目,而Scanner对象没有这样的方法,如果想知道字符串的个数只能一个个地获取
参考链接: Java中的StringTokenizer Java StringTokenizer快速指南 本文我们探讨java 基本的类 StringTokenizer。 StringTokenizer StringTokenizer类可以帮助我们把字符串分割为多个符号(token)。 StringTokenizer应用 最简单的示例是使用StringTokenizer基于特定分隔符分割字符串。下面示例分割参数字符串并生成符号列表。 既然Enumeration是对象类型,我们需要类型转换为String类型(这依赖业务,如果有需要,可能转换为Integer/Float) StringTokenizer构造函数 除了缺省构造函数StringTokenizer (String str),StringTokenizer重载了两个构造函数StringTokenizer(String str, String delim) 和 StringTokenizer(String
StringTokenizer是字符串分隔解析类型,属于:Java.util包。 1.StringTokenizer的构造函数 StringTokenizer(String str):构造一个用来解析str的StringTokenizer对象。 StringTokenizer(String str,String delim):构造一个用来解析str的StringTokenizer对象,并提供一个指定的分隔符。 StringTokenizer(String str,String delim,boolean returnDelims):构造一个用来解析str的StringTokenizer对象,并提供一个指定的分隔符 2.StringTokenizer的一些常用方法 说明: 1.所有方法均为public; 2.书写格式:[修饰符] <返回类型><方法名([参数列表])> int countTokens():返回nextToken
StringTokenizer(String str) :构造一个用来解析str的StringTokenizer对象。 StringTokenizer(String str, String delim) :构造一个用来解析str的StringTokenizer对象,并提供一个指定的分隔符。 3. StringTokenizer(String str, String delim, boolean returnDelims) :构造一个用来解析str的StringTokenizer对象,并提供一个指定的分隔符 代码如下: StringTokenizer st = new StringTokenizer("this is a test"); while (st.hasMoreTokens strToke = new StringTokenizer(str, ":,|");// 默认不打印分隔符 // StringTokenizer strToke=new StringTokenizer
4.StringTokenizer StringTokenizer可以解析分隔符不是空格的情况。 例子: import java.util.StringTokenizer; public class Test { public static void main(String[] args) { String a = "i am an engineer"; /*用缺省分隔符空格把a这个字符串分开来, 之后把结果放在StringTokenizer类型的st_Mark_to_win 中,即使空很多个格也没问题,这为我们io那章,自己发明自己的j+语言,奠定了坚实的基础*/ StringTokenizer st_Mark_to_win = new StringTokenizer --------------"); a = "name=lisi;age=26;title=software engineer"; /*用=或者;把a这个字符串分开来, 之后把结果放在StringTokenizer
StringTokenizer是一个用来分隔String的应用类。 构造函数 public StringTokenizer(String str) public StringTokenizer(String str, String delim) public StringTokenizer(String str, String delim, boolean returnDelims) 第一个参数就是要分隔的String,第二个是分隔字符集合,第三个参数表示分隔符号是否作为标记返回 st = new StringTokenizer(s); System.out.println( "Token Total: " + st.countTokens() ); while( st.hasMoreElements st = new StringTokenizer(s,"=",true); System.out.println( "Token Total: " + st.countTokens() ); while
参考链接: Java中的StringTokenizer方法的示例 2 StringTokenizer类的hasMoreElements()方法 (StringTokenizer Class hasMoreElements 例: // Java program to demonstrate the example // of boolean hasMoreElements() method // of StringTokenizer class HasMoreElementsOfStringTokenizer { public static void main(String[] args) { // Instantiates a StringTokenizer object StringTokenizer str_t = new StringTokenizer("Welcome in Java World!!!") 翻译自: https://www.includehelp.com/java/stringtokenizer-hasmoreelements-method-with-example.aspx
StringTokenizer是一个用来分隔String的应用类,相当于VB的split函数。 1.构造函数 public StringTokenizer(String str) public StringTokenizer(String str, String delim) public StringTokenizer(String str):构造一个用来解析str的StringTokenizer对象。 StringTokenizer(String str, String delim):构造一个用来解析str的StringTokenizer对象,并提供一个指定的分隔符。 3. StringTokenizer(String str, String delim, boolean returnDelims):构造一个用来解析str的StringTokenizer对象,并提供一个指定的分隔符
StringTokenizer可以将一个字符串分解为一个一个的单词或者标记。 例子: public static void main(String[] args) { StringTokenizer st = new StringTokenizer("www.ooobj.com ", ".b"); while(st.hasMoreTokens()){ System.out.println("Token:" + st.nextToken()); } } StringTokenizer
StringTokenizer类:解析字符串单词 和split方法不同的是,StringTokenizer对象不使用正则表达式做分隔标记 有时候要分析字符串并将字符串分解成可独立使用的单词,这些单词称为语言符号 当分析一个字符串并将字符串分解成可独立使用的单词时,可以使用java.util包中的StringTokenizer类,该类有两个常用的构造方法 StringTokenizer(String s): 为字符串 s构造一个分析器,使用默认的分隔标记,即空格符(多个空格被看做一个空格),换行符,回车符,Tab符,进制符 StringTokenizer(String s,String delim): 为字符串s构造一个分析器 如: StringTokenizer s=new StringTokenizer(“we,are;student” , ”,;”); 注意:分隔标记的任意组合仍然是分隔标记 一个StringTokenizer ; StringTokenizer fenxi=new StringTokenizer(s,delim);//用delim中的字符的任意组合作为分隔标记 double total
StringTokenizer:字符串分隔解析类型属于:java.util包。 1、构造函数。 1. StringTokenizer(String str) :构造一个用来解析str的StringTokenizer对象。 StringTokenizer(String str, String delim) :构造一个用来解析str的StringTokenizer对象,并提供一个指定的分隔符。 3. StringTokenizer(String str, String delim, boolean returnDelims) :构造一个用来解析str的StringTokenizer对象,并提供一个指定的分隔符 st = new StringTokenizer(s,”=”,true); System.out.println( “Token Total: ” + st.countTokens() ); while
StringTokenizer可以将一个字符串分解为一个一个的单词或者标记。 例子: public static void main(String[] args) { StringTokenizer st = new StringTokenizer("www.ooobj.com ", ".b"); while(st.hasMoreTokens()){ System.out.println("Token:" + st.nextToken()); } } StringTokenizer
StringTokenizer(String str) :构造一个用来解析str的StringTokenizer对象。 StringTokenizer(String str, String delim) :构造一个用来解析str的StringTokenizer对象,并提供一个指定的分隔符。 3. StringTokenizer(String str, String delim, boolean returnDelims) :构造一个用来解析str的StringTokenizer对象,并提供一个指定的分隔符 strToke = new StringTokenizer(str, ":,|");// 默认不打印分隔符 // StringTokenizer strToke=new StringTokenizer 如果不用正则表达式(StringTokenizer也不能使用正则表达式),StringTokenizer在截取字符串中的效率最高。
StringTokenizer 被废弃了吗? 栈长翻阅了一些资料,原来在 Oracle JDK 官方文档中已经有了描述,这是最新的 Oracle JDK 15 的官方文档关于 StringTokenizer 的说明: StringTokenizer 再来看 StringTokenizer 类的源码: ? StringTokenizer 没人用了吗? 答案:非也! 栈长在最新的 Spring 5.x 框架 StringUtils 工具类中就发现了 StringTokenizer 的使用身影: ? StringTokenizer vs split 说了这么多,相信大部分人都只用过 split,而没用过 StringTokenizer,那么栈长今天就来对比下这两个字符串分割法的性能及利弊。
如果要讲一个字符串分解为一个一个的单词或者标记,StringTokenizer可以帮你。 先看个例子: public static void main(String[] args) { StringTokenizer st = new StringTokenizer(“www.ooobj.com 这个方法和hasMoreElements()方法的用法是一样的,只是StringTokenizer为了实现Enumeration接口而实现的方法,从StringTokenizer的声明可以看到:class StringTokenizer的三个构造方法: 1.StringTokenizer(String str)。默认以” \t\n\r\f”(前有一个空格,引号不是)为分割符。 实例: public static void main(String[] args) { StringTokenizer st = new StringTokenizer(“www.ooobj.com
StringTokenizer和String.split //Use StringTokenizer StringTokenizer st = new StringTokenizer( 官方文档http://docs.oracle.com/javase/6/docs/api/java/util/StringTokenizer.html 有定性说明(附注:最新的JDK8 API文档中也是相同的说明 StringTokenizer is a legacy class that is retained for compatibility reasons although its use is discouraged 大意是StringTokenizer是一个历史遗留类,为了保证向后兼容性而保留这个类。推荐在新的代码中使用split或regex替换。 至于网上的测评资料说StringTokenizer比String.split效率更高,由于没有亲测就不妄加评论了。
stringTokenizer = new StringTokenizer(linevalue); while(stringTokenizer.hasMoreTokens()) { String workvalue = stringTokenizer.nextToken(); mapoutputKey.set(workvalue stringTokenizer = new StringTokenizer(linevalue); while(stringTokenizer.hasMoreTokens()) package com.lizh.hadoop.mapreduce; import java.io.IOException; import java.util.StringTokenizer; import stringTokenizer = new StringTokenizer(linevalue); while(stringTokenizer.hasMoreTokens())
java.util.Tokenizer JDK 1.0 or later StringTokenizer StringTokenizer 类允许应用程序将字符串分解为标记。 StringTokenizer 是出于兼容性的原因而被保留的遗留类(虽然在新代码中并不鼓励使用它)。 token=new StringTokenizer(ip,”.”); while(token.hasMoreElements()){ System.out.print(token.nextToken ()+” “); } } } 但是StringTokenizer对于字符串”192.168..33″的分割,返回的字符串数组只有3个元素,对于两个分隔符之间的空字符串会忽略,这个要慎重使用。 好很多,对于频繁使用字符串分割的应用,例如etl数据处理,使用StringTokenizer性能可以提高很多。