java使用StringTokenizer字符串分割-阿里云开发者社区

开发者社区> 余二五> 正文

java使用StringTokenizer字符串分割

简介:
+关注继续查看

遇到一个java读取一个又任意符号做分隔符的字符串的问题,找到一个解决的例子:

StringTokenizer类

Java语言中,提供了专门用来分析字符串的类StringTokenizer(位于java.util包中)。该类可以将字符串分解为独立使用的单词,并称之为语言符号。语言符号之间由定界符(delim)或者是空格、制表符、换行符等典型的空白字符来分隔。其他的字符也同样可以设定为定界符。StringTokenizer类的构造方法及描述见表15-6所示。

表15-6                                          StringTokenizer类的构造方法及描述

构 造 方 法

描    述

StringTokenizer(String str)

为字符串str构造一个字符串分析器。使用默认的定界符,即空格符(如果有多个连续的空格符,则看作是一个)、换行符、回车符、Tab符号等

StringTokenizer(String str, String delim)

为字符串str构造一个字符串分析器,并使用字符串delim作为定界符

StringTokenizer类的主要方法及功能见表15-7所示。

表15-7                                          StringTokenizer类的主要方法及功能

方    法

功    能

String nextToken()

用于逐个获取字符串中的语言符号(单词)

boolean hasMoreTokens()

用于判断所要分析的字符串中,是否还有语言符号,如果有则返回true,反之返回false

int countTokens()

用于得到所要分析的字符串中,一共含有多少个语言符号

代码15-7中,举例说明StringTokenizer类、类中方法的使用。程序分析两个字符串,统计字符串中单词的个数。

代码15-7 StringTokenizer类的使用StringTokenizerDemo.java

import java.util.*;

public class StringTokenizerDemo

{

    public static void main(String[] args)

    {

            String str1 = "Hello world!This is Java code,stringTokenizer Demo.";

            //声明并初始化字符串str1

            String str2 = "How to use StringTokenizer?StringTokenizer?";

            //声明并初始化字符串str2

            StringTokenizer strT1 = new StringTokenizer(str1," ,.!");

            //创建StringTokenizer类的对象strT1,并构造字符串str1的分析器

            //以空格符、","、"."及"!"作为定界符

            StringTokenizer strT2 = new StringTokenizer(str2," ?");

            //创建StringTokenizer类的对象strT2,并构造字符串str2的分析器

            //以空格符及"?"作为定界符

            int num1 = strT1.countTokens();

            //获取字符串str1中语言符号的个数

         int num2 = strT2.countTokens();

            //获取字符串str2中语言符号的个数

            System.out.println("str1 has "+num1+" words.They are:");

            while(strT1.hasMoreTokens())

            {   //利用循环来获取字符串str1中下一个语言符号,并输出

                   String str = strT1.nextToken();

                   System.out.print("\""+str+"\" ");

            }

            System.out.println("\nstr2 has "+num2+" words.They are:");

            while(strT2.hasMoreTokens())

            {   //利用循环来获取字符串str2中下一个语言符号,并输出

                    String str = strT2.nextToken();

                   System.out.print("\""+str+"\" ");

            }

    }

}




本文转自 vfast_chenxy 51CTO博客,原文链接:http://blog.51cto.com/chenxy/781292,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【Java】java使用反射访问对象方法和成员变量
虽然java是一门静态语言,但是java的反射机制却给java提供了很强大的动态特性,其特点是能让java支持在运行时才能得知名称与内部结构的类,并能访问其所有的方法和成员变量,包括私有方法和私有成员变量。下面我写了一个比较简洁的测试代码,供参考和使用。 测试类 //OBClass.java package com.obo.javaassistdemo; public class
1484 0
fastjson解析json字符串,key缺少双引号导致下游服务无法解析
背景说明 在使用fastjson 1.2.60版本将对象转化为json字符串时,为处理Map值为null的情况,采用了WRITE_MAP_NULL_FEATURES属性,但该属性解析出来的key中缺少双引号,在key包含特殊字符时,如“-”和“:",下游服务在进行反序列化时出现无法解析的错误,从而出现问题。
3060 0
怎么设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程
8478 0
【Java】使用javaassist修改jar包
由于工作需要,可能会涉及到一些需要对第三方的一些jar包与源码进行修改的情况,这个时候javaassist就可以派上用场。 javaassist是一个开源的编辑、修改、创建字节码的类库,它在JBoos项目的AOP框架中发挥了很大的作用。不过我们这次仅仅使用它的修改class的功能。 1 准备工具 1.1 需要用到的工具 1.javaassist.jar 修改class字节码,修改类
6974 0
.NET C# Tostring format 格式化字符串
一、数值型 formatCode 是可选的格式化代码字符串。必须用“{”和“}”将格式与其他字符分开。如果恰好在格式中也要使用大括号,可以用连续的两个大括号表示一个大括号,即: “{{”或者“}}”。
1175 0
java使用链栈实现数制转换
java实现链栈在前面有所介绍:http://www.cnblogs.com/lixiaolun/p/4644141.html   将前面java实现链栈的代码稍作修改: package linkedstack; public class LinkStack { priva...
833 0
java使用阿里云短信服务发送短信验证码
java使用阿里云短信服务发送短信验证码
111 0
如何选择使用字符串还是数字呢?
如何选择使用字符串还是数字呢?
836 0
+关注
20382
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载