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)
上一篇 2026年1月25日 下午3:15
下一篇 2026年1月25日 下午3:43


相关推荐

  • navicat15 永久激活码最新_最新在线免费激活

    (navicat15 永久激活码最新)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html1STL5S9V8F-eyJsaWNlbnNlSW…

    2022年3月27日
    64
  • 【保姆级教程】无成本零门槛安装配置OpenClaw龙虾AI全能助手

    【保姆级教程】无成本零门槛安装配置OpenClaw龙虾AI全能助手

    2026年3月13日
    3
  • hashmap的实现原理面试_jvm面试题总结及答案

    hashmap的实现原理面试_jvm面试题总结及答案①HashMap的工作原理HashMap基于hashing原理,我们通过put()和get()方法储存和获取对象。当我们将键值对传递给put()方法时,它调用键对象的hashCode()方法来计算hashcode,让后找到bucket位置来储存值对象。当获取对象时,通过键对象的equals()方法找到正确的键值对,然后返回值对象。HashMap使用链表来解决碰撞问题,当发生碰撞了,对象将会储存…

    2025年10月21日
    6
  • pycharm使用远程python虚拟环境_pycharm自带python吗

    pycharm使用远程python虚拟环境_pycharm自带python吗虽然pycharm很耗内存,但这依然阻挡不了它灰常好用的优势,电脑配置不够的话建议选择19年的pycharm版本,16G的内存带2021.2.1运行起来是这样:首先确定pycharm用的是专业版,社区版不提供远程服务的功能。1.配置远程服务器信息并测试菜单栏Tools—->Deployment—->Configuration显示如下界面:新建一个连接,协议类型选择SFTP,不要选其他两种,其他两种实现的功能不一样,并且一般服务器上也不会开放21端口,SFTP使用的是

    2022年8月27日
    6
  • 用计算机制作动画,如何使用制作工具制作一个简单的Flash动画-电脑自学网

    用计算机制作动画,如何使用制作工具制作一个简单的Flash动画-电脑自学网怎么制作Flash动画?通过AdobeFlash我们可以制作出非常有趣好看的动画,也可以制作一键简单的小动画,下面给大家介绍如何使用制作工具制作一个简单的Flash动画。操作方法:1、打开flash软件,如下图所示。2、选择新建一个flash文档,如下图所示。3、下图所示是flash的工作区域,对于各个区域的名称,我会在后续课程中进行讲解。4、先将舞台改为黑色:如下图所示。5、在舞台上利用举行工…

    2022年5月20日
    34
  • MySQL8.0.19 JDBC下载与使用「建议收藏」

    MySQL8.0.19 JDBC下载与使用「建议收藏」MySQLJDBC下载链接MySQLCommunityDownloadsJAVA在IDEA中使用在Eclipse中使用

    2025年5月29日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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