9.7 StringTokenizer类

9.7 StringTokenizer类StringTokenizer类:解析字符串单词和split方法不同的是,StringTokenizer对象不使用正则表达式做分隔标记有时候要分析字符串并将字符串分解成可独立使用的单词,这些单词称为语言符号。对于字符串“Iamstudent”,如果把空格作为该字符串的标记,那么该字符串有三个单词(语言符号)。对于字符串“I,am,student”,如果把逗号作为该字符串的标…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

  • StringTokenizer类:解析字符串单词

 

和split方法不同的是,StringTokenizer对象不使用正则表达式做分隔标记

 

有时候要分析字符串并将字符串分解成可独立使用的单词,这些单词称为语言符号。对于字符串“I am student”,如果把空格作为该字符串的标记,那么该字符串有三个单词(语言符号)。对于字符串“I,am, student”,如果把逗号作为该字符串的标记,那么该字符串有三个单词(语言符号)。

 

当分析一个字符串并将字符串分解成可独立使用的单词时,可以使用java.util包中的StringTokenizer类,该类有两个常用的构造方法

  • StringTokenizer(String s):

为字符串s构造一个分析器,使用默认的分隔标记,即空格符(多个空格被看做一个空格),换行符,回车符,Tab符,进制符

  • StringTokenizer(String s,String delim):

为字符串s构造一个分析器,使用参数dilim中的字符的任意组合作为分隔标记。

如:

StringTokenizer s=new StringTokenizer(“we,are;student” , ”,;”);

注意:分隔标记的任意组合仍然是分隔标记

 

一个StringTokenizer对象称为一个字符串分析器,字符串分析器使用nextToken()方法逐个获取字符串中的语言符号(单词),每当调用nextToken()时,都将在字符串中获得下一个语言符号,每当获得一个语言符号时,字符串分析器负责计数的变量的值就自动减一,该计数变量的初始值等于字符串中的单词数目

通常用while循环逐个获取语言符号,为了控制循环,可以使用StringTokenizer类中的hasMoreTokens()方法,只要字符串中还有语言符号,即计数变量的值大于0,该方法就返回true,否则就false.

另外还可以随时让分析器调用countTokens()方法得到分析器中计数变量的值

 

import java.util.StringTokenizer;

public class p1 {
    public static void main(String args[]) {
        String s="市话费:28.89元,长途话费:128.87元,上网费:298元。";
        String delim="市话长途上网费元:,。";
        StringTokenizer fenxi=new StringTokenizer(s,delim);//用delim中的字符的任意组合作为分隔标记
        double total=0;
        while (fenxi.hasMoreTokens()){
            double money=Double.parseDouble(fenxi.nextToken());
            //数字组成的字符串,转化成double类型,再赋值给money
            System.out.println(money);
            total=total+money;
        }
        System.out.println(total);

    }
}

28.89
128.87
298.0
455.76

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/191781.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • nginx的负载均衡算法_redis负载均衡

    nginx的负载均衡算法_redis负载均衡1、轮询     就是按照时间顺序分配下一个请求的服务器。2、权值轮询     给每一个服务器加上权值,权值和分配的请求成正比,比较适应于服务器配置不均的情况。3、ip哈希     根据ip的哈希值分配,这样每个ip每次访问的服务器都相同,这样session的处理会容易些。4、响应时间动态分配   根据请求的响应时间来分配,时间越短,说明处理能力较强,这样会…

    2022年10月12日
    0
  • VB.NET 数组的定义 动态使用 多维数组

    VB.NET 数组的定义 动态使用 多维数组

    2021年12月8日
    40
  • noip2014普及组初赛答案_观光3路公交车路线

    noip2014普及组初赛答案_观光3路公交车路线话说,我终于AC了这个题这是一个贪心,说实话开始做的时候……完全没看出来QAQ。。可能有人说这是个dp,但这真不是(dalao请无视)这真的只是个贪心。。。。首先对于每个点当然是能走就走,不能走就等待,这是无法控制的。所以只考虑氮气加速器加在哪里可以使时间总和尽量少。所以如果选择加速,可能会使后面等待的时间更长,或者更短,对后面都会有影响。但是沿着一条边加速会影响后面的所…

    2022年9月24日
    0
  • 一文深入讲解redis和couchbase的区别

    一文深入讲解redis和couchbase的区别

    2022年2月19日
    38
  • PyPDF2 | 利用 Python 实现 PDF 分割

    PyPDF2 | 利用 Python 实现 PDF 分割1.PDF分割由于疫情影响被迫在家上网课,因此教材也只能用电子版。但有一门教材是对开的扫描版,导致在iPad上阅读很不友好,因此决定寻找一个工具将PDF对半分开。图1分割前的PDF在百度了一番后,发现大多都是使用AdobeAcrobat软件进行剪裁,这完全不Pythonic,因此又找了用Python处理PDF文件的方法,最后发现了PyPDF2这个库,本…

    2022年6月23日
    42
  • c3p0连接池配置说明

    c3p0连接池配置说明c3p0连接池配置说明3301000false

关注全栈程序员社区公众号