StringTokenizer字符串分解
来源:互联网 发布:2016年天猫双十一数据 编辑:程序博客网 时间:2024/05/18 17:41
java.util
类 StringTokenizer
首先:要知道
StringTokenizer 只有三个构造方法
1. StringTokenizer(String str) :被分割对象str,分隔符采取默认分割,java默认的分隔符是“空格”、“制表符(‘\t’)”、“换行符(‘\n’)”、“回车符(‘\r’)”。默认的话,所有的分隔符都会同时起作用。
2. StringTokenizer(String str, String delim) :分隔符不采用默认,提供一个指定的分隔符。
3. StringTokenizer(String str, String delim, boolean returnDelims) :指定一个特定的分隔符,同时,指定是否返回分隔符。如果是true,分隔符将被作为一个token返回。
API原文描述:If the returnDelims
flag is true
, then the delimiter characters are also returned as tokens. Each delimiter is returned as a string of length one. If the flag isfalse
, the delimiter characters are skipped and only serve as separators between tokens.
方法也不多,只有6个:(所有的方法都是public型)
int
countTokens()
对于这个方法API的描述是这样的:Calculates the number of times that this tokenizer'snextToken
method can be called before it generates an exception. The current position is not advanced.
它说计算nextToken方法在抛异常以前还能被调用的次数,当前索引不增加。
其实就是说还有几个元素可以被遍历。返回的是 当前可以被访问的元素的个数。
方法:
boolean
hasMoreTokens()
boolean
hasMoreElements()
用来判断当前还有没有可以遍历的元素
方法:
Object
nextElement()
String
nextToken()
用来获得当前的元素token,一个返回String类型,一个返回Object类型
还有一个方法:
String
nextToken(String delim)
返回当前索引开始,指定分隔符的下一个token。实际返回的是索引当前位置到下一个delim出现为止所有的字符。
java.lang.Object java.util.StringTokenizer
- 所有已实现的接口:
- Enumeration<Object>
public class StringTokenizer
- extends Object
- implements Enumeration<Object>
string tokenizer 类允许应用程序将字符串分解为标记。tokenization 方法比 StreamTokenizer
类所使用的方法更简单。StringTokenizer
方法不区分标识符、数和带引号的字符串,它们也不识别并跳过注释。
可以在创建时指定,也可以根据每个标记来指定分隔符(分隔标记的字符)集。
StringTokenizer
的实例有两种行为方式,这取决于它在创建时使用的 returnDelims
标志的值是true
还是 false
:
- 如果标志为
false
,则分隔符字符用来分隔标记。标记是连续字符(不是分隔符)的最大序列。 - 如果标志为
true
,则认为那些分隔符字符本身即为标记。因此标记要么是一个分隔符字符,要么是那些连续字符(不是分隔符)的最大序列。
StringTokenizer 对象在内部维护字符串中要被标记的当前位置。某些操作将此当前位置移至已处理的字符后。
通过截取字符串的一个子串来返回标记,该字符串用于创建 StringTokenizer 对象。
下面是一个使用 tokenizer 的实例。代码如下:
StringTokenizer st = new StringTokenizer("this is a test"); while (st.hasMoreTokens()) { System.out.println(st.nextToken()); }
输出以下字符串:
this is a test
StringTokenizer 是出于兼容性的原因而被保留的遗留类(虽然在新代码中并不鼓励使用它)。建议所有寻求此功能的人使用 String 的split 方法或 java.util.regex 包。
下面的示例阐明了如何使用 String.split 方法将字符串分解为基本标记:
String[] result = "this is a test".split("\\s"); for (int x=0; x<result.length; x++) System.out.println(result[x]);
输出以下字符串:
this is a test
- 从以下版本开始:
- JDK1.0
- 另请参见:
StreamTokenizer
StringTokenizer(String str)
为指定字符串构造一个 string tokenizer。
StringTokenizer(String str,String delim)
为指定字符串构造一个 string tokenizer。
StringTokenizer(String str,String delim, boolean returnDelims)
为指定字符串构造一个 string tokenizer。
int
countTokens()
计算在生成异常之前可以调用此 tokenizer 的
nextToken
方法的次数。boolean
hasMoreElements()
返回与
hasMoreTokens
方法相同的值。boolean
hasMoreTokens()
测试此 tokenizer 的字符串中是否还有更多的可用标记。
Object
nextElement()
除了其声明返回值是
Object
而不是 String
之外,它返回与 nextToken
方法相同的值。String
nextToken()
返回此 string tokenizer 的下一个标记。
String
nextToken(String delim)
返回此 string tokenizer 的字符串中的下一个标记。
clone, equals, finalize, getClass, hashCode,notify, notifyAll, toString, wait, wait, wait
StringTokenizer
public StringTokenizer(String str, String delim, boolean returnDelims)
- 为指定字符串构造一个 string tokenizer。
delim
参数中的所有字符都是分隔标记的分隔符。如果
returnDelims
标志为true
,则分隔符字符也作为标记返回。每个分隔符都作为一个长度为 1 的字符串返回。如果标志为false
,则跳过分隔符,只是用作标记之间的分隔符。注意,如果 delim 为 null,则此构造方法不抛出异常。但是,尝试对得到的 StringTokenizer 调用其他方法则可能抛出NullPointerException。
- 参数:
str
- 要解析的字符串。delim
- 分隔符。returnDelims
- 指示是否将分隔符作为标记返回的标志。- 抛出:
NullPointerException
- 如果 str 为null
。
StringTokenizer
public StringTokenizer(String str, String delim)
- 为指定字符串构造一个 string tokenizer。
delim
参数中的字符都是分隔标记的分隔符。分隔符字符本身不作为标记。注意,如果 delim 为 null,则此构造方法不抛出异常。但是,尝试对得到的 StringTokenizer 调用其他方法则可能抛出NullPointerException。
- 参数:
str
- 要解析的字符串。delim
- 分隔符。- 抛出:
NullPointerException
- 如果 str 为null
。
StringTokenizer
public StringTokenizer(String str)
- 为指定字符串构造一个 string tokenizer。tokenizer 使用默认的分隔符集
" \t\n\r\f"
,即:空白字符、制表符、换行符、回车符和换页符。分隔符字符本身不作为标记。- 参数:
str
- 要解析的字符串。- 抛出:
NullPointerException
- 如果 str 为null
。
hasMoreTokens
public boolean hasMoreTokens()
- 测试此 tokenizer 的字符串中是否还有更多的可用标记。如果此方法返回 true,那么后续调用无参数的 nextToken 方法将成功地返回一个标记。
- 返回:
- 当且仅当该字符串中当前位置后至少有一个标记时才为
true
;否则为false
。
nextToken
public String nextToken()
- 返回此 string tokenizer 的下一个标记。
- 返回:
- 此 string tokenizer 的下一个标记。
- 抛出:
NoSuchElementException
- 如果此 tokenizer 的字符串中没有更多标记。
nextToken
public String nextToken(String delim)
- 返回此 string tokenizer 的字符串中的下一个标记。首先,字符集被更改为字符串 delim 中的字符,该字符集被认为是StringTokenizer 对象的分隔符。接着返回字符串中当前位置之后的下一个标记。当前位置被提前到所识别的标记前。进行此调用后新的分隔符集仍然保持默认值。
- 参数:
delim
- 新的分隔符。- 返回:
- 转换到新的分隔符集后的下一个标记。
- 抛出:
NoSuchElementException
- 如果此 tokenizer 的字符串中没有更多标记。NullPointerException
- 如果 delim 为null
。
hasMoreElements
public boolean hasMoreElements()
- 返回与
hasMoreTokens
方法相同的值。它的存在使得此类可以实现Enumeration
接口。 - 指定者:
- 接口
Enumeration<Object>
中的hasMoreElements
- 返回:
- 如果有更多标记,则为
true
;否则为false
。 - 另请参见:
Enumeration
,hasMoreTokens()
nextElement
public Object nextElement()
- 除了其声明返回值是
Object
而不是String
之外,它返回与nextToken
方法相同的值。它的存在使得此类可以实现Enumeration
接口。 - 指定者:
- 接口
Enumeration<Object>
中的nextElement
- 返回:
- 字符串中的下一个标记。
- 抛出:
NoSuchElementException
- 如果此 tokenizer 的字符串中没有更多标记。- 另请参见:
Enumeration
,nextToken()
countTokens
public int countTokens()
- 计算在生成异常之前可以调用此 tokenizer 的
nextToken
方法的次数。当前位置没有提前。 - 返回:
- 使用当前分隔符集的字符串中剩余的标记数。
- 另请参见:
nextToken()
- StringTokenizer字符串分解器
- StringTokenizer分解字符串
- StringTokenizer字符串分解
- 使用StringTokenizer分解字符串
- StringTokenizer字符串分解器
- 使用StringTokenizer分解字符串
- java字符串分解 StringTokenizer用法
- java字符串分解 StringTokenizer用法
- java字符串分解 StringTokenizer用法
- java字符串分解 StringTokenizer用法
- java字符串分解 StringTokenizer用法
- java字符串分解 StringTokenizer用法
- java字符串分解 StringTokenizer用法
- java字符串分解 StringTokenizer用法
- StringTokenizer字符分解器
- StringTokenizer处理字符串
- StringTokenizer(字符串标记) 示例
- StringTokenizer实现字符串分割
- 数据分析之美:决策树
- 南阳oj 一种排序 题目5
- 2015 Multi-University Training Contest 4
- 网络编程笔记4
- web安全防护
- StringTokenizer字符串分解
- C++ using关键字作用 (重载父类函数)
- Python 3 中检测QQ在线的脚本
- python 使用Pool,并需要关注结果
- vector的迭代器失效
- eclipse启动tomcat访问不到主页
- 曲线拐点快速寻找算法+C代码
- OC中特有的一些语法
- 获取文件编码