stringtokenizer_stringtokenizer split_stringbuffer内部实现

电脑杂谈  发布时间:2016-12-28 05:05:09  来源:网络整理

stringtokenizer split_stringbuffer内部实现_stringtokenizer

实际上,将字符串划分为令牌非常有用,因此Java库包含几种不同的类来完成此任务。当然,最简单的是StringTokenizer类,它是java.util程序包的一部分。该类可以从提供给StringTokenizer构造函数的字符串中读取令牌。stringtokenizer这样就创建了令牌赋予器(tokenizer),可以用它从原始字符串逐个读取连续的令牌。从令牌赋予器读取的一系列令牌称为令牌流。

StringTokenize类中最重要的方法如图8-13所示。StringTokenizer的构造函数以3种形式出现。最简单的形式如下面的声明所示,它从名为line的字符串值变量读取令牌:

StringTokenizer tokenizer = new StringTokenizer(line);使用这种形式的构造函数时,令牌赋予器使用空格和制表符--或者让Character.isWhitespace方法返回true的任何字符--将字符串划分为令牌来标记每个令牌的边界。stringtokenizer划分令牌的空格本身不是令牌,不会作为令牌流的一部分返回。

图8-13 StringTokenize类中的有用方法构造函数的第二种形式允许指定划分单个令牌的字符集,这些字符称为定界符。例如,如果创建使用空格或逗号划分单个令牌的令牌赋予器,可以这样重写声明:

StringTokenizer tokenizer = new StringTokenizer(line, ' ,');在StringTokenizer构造函数的单参数版本中,其声明创建的令牌赋予器使用空格和逗号字符来区分令牌,但不将它们作为令牌流的一部分。按照当前的情况,PigLatin示例的伪代码需要可以返回定界符字符的扫描仪。构造函数的第三种形式提供了这种能力,它包含第三个参数,该参数可以确定是否应该将定界符作为令牌返回。如果这个参数是false,令牌赋予器会像和在双参数形式中一样操作。如果参数是true,令牌流会作为单个字符令牌包含每个定界符字符。

在PigLati程序中,需要的令牌赋予器可以将所有标点符号解释为定界符


本文来自电脑杂谈,转载请注明本文网址:
http://xinshanjie.com/a/jisuanjixue/article-23659-1.html

    相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...