📄 stdemo.java~2~
字号:
package stringtokenizer;
/**
对文本的处理经常包括对格式化的输入字符串进行语法分析。语法分析(Parsing)将
文本划分为一组不连续的部分,或标记(tokens),在一个确定的序列中,标记可以表达语
义。StringTokenizer类提供了语法分析处理的第一步。经常被称为lexer(词法分析程序)或
scanner(扫描程序)。StringTokenizer实现枚举(Enumeration)接口。因此,给定一个输
入字符串,可以使用StringTokenizer对包含于其中的单独标记进行枚举。
使用StringTokenizer时,指定一个输入字符串和一个包含了分割符的字符串。分割符
(Delimiters)是分割标记的字符。分割符字符串中的每一个字符被当做一个有效的分割符
——例如,“,;:”建立逗号,分号和冒号分割符。默认建立的分割符有空白符字符,空格,
tab键,换行以及回车。
StringTokenizer的构造函数如下所示:
StringTokenizer(String str)
StringTokenizer(String str, String delimiters)
StringTokenizer(String str, String delimiters, boolean delimAsToken)
在上述三种形式中,str都表示将被标记的字符串。在第一种形式中,使用默认的分割
符。在第二种和第三种形式中,delimiters是用来指定分割符的一个字符串。在第三种形式
中,如果delimAsToken为true,当字符串被分析时,分割符也被作为标记而被返回;否则,
不返回分割符。在第一种和第二种形式中,分割符不会作为标记而被返回
一旦创建了StringTokenizer对象之后,nextToken( )方法被用于抽取连续的标记。当有
更多的 标记被抽取 时,hasMoreTokens( )方 法返回true。因 为 StringTokenizer实现枚 举
(Enumeration),因此hasMoreElements( )和nextElement( )方法也被实现,同时它们的作用
也分别与hasMoreTokens( )和nextToken( )方法相同。StringTokenizer方法列在表16-1中。
下面是一个创建用于分析“key=value”对的StringTokenizer的例子。连续的多组
“key=value”对将用分号分开。
*/
// Demonstrate StringTokenizer.
import java.util.StringTokenizer;
class STDemo {
static String in = "title=Java: The Complete Reference;" +
"author=Schildt;" +
"publisher=Osborne/McGraw-Hill;" +
"copyright=2001";
public static void main(String args[]) {
StringTokenizer st = new StringTokenizer(in, "=;");
while (st.hasMoreTokens()) {
String key = st.nextToken();
String val = st.nextToken();
System.out.println(key + "\t" + val);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -