java从字符串中提取数字的简单实例

yizhihongxing

关于“java从字符串中提取数字的简单实例”,以下是完整攻略:

1. 前言

在开发Java应用程序时,经常需要从字符串中提取数字,这种情况很常见。本文将介绍使用Java代码如何从字符串中提取数字。

2. 通过正则表达式实现

使用正则表达式可以很方便地从字符串中提取数字。代码示例1如下:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class ExtractNumber {

    public static void main(String[] args) {

        String str = "hello 123 world 456!";

        Pattern p = Pattern.compile("\\d+");
        Matcher m = p.matcher(str);

        while (m.find()) {
            System.out.println(m.group());
        }
    }
}

代码说明:

  • String str = "hello 123 world 456!":定义了一个包含数字的字符串。
  • Pattern p = Pattern.compile("\d+"):定义正则表达式,以匹配数字。其中,\d表示数字,+表示匹配1个或多个。
  • Matcher m = p.matcher(str):使用Pattern对象的matcher方法,生成一个Matcher对象。该对象可以对字符串进行操作。
  • while (m.find()): while循环,以在字符串中寻找数字。如果匹配到数字,就会执行循环中的语句。
  • System.out.println(m.group()):输出匹配到的数字。

上述代码的输出结果为:

123
456

3. 通过String类的操作实现

除了使用正则表达式,还可以使用String类中的一些方法操作字符串,例如,substring、indexOf等。代码示例2如下:

public class ExtractNumber {

    public static void main(String[] args) {

        String str = "hello 123 world 456!";

        String numStr = "";
        for (int i = 0; i < str.length(); i++) {
            char c = str.charAt(i);
            if (Character.isDigit(c)) { // 如果是数字
                numStr += c;
            } else if (numStr.length() > 0) { // 如果不是数字,但已有数字字符串
                System.out.println(numStr);
                numStr = "";
            }
        }

        if (numStr.length() > 0) { // 处理末尾数字字符串的情况
            System.out.println(numStr);
        }
    }
}

代码说明:

  • String str = "hello 123 world 456!":定义了一个包含数字的字符串。
  • for循环遍历字符串中的每个字符。
  • char c = str.charAt(i):获取字符串中第i个字符。
  • if (Character.isDigit(c)) { ... }:如果该字符是数字,则将该字符加入numStr中存储。
  • else if (numStr.length() > 0) { ... }:如果该字符不是数字,但是已经存储了数字字符串,就输出数字字符串。
  • if (numStr.length() > 0) { ... }:for循环结束后,处理最后一个数字字符串的输出。

上述代码的输出结果为:

123
456

4. 总结

本文介绍了两种从字符串中提取数字的方法,通过正则表达式和String类方法实现。在实际开发中,根据需求进行使用。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java从字符串中提取数字的简单实例 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月27日

相关文章

  • Linux下启动tomcat的方法

    下面是详细讲解“Linux下启动tomcat的方法”的完整攻略。 Linux下启动tomcat的方法 Tomcat是一种用于Java开发的Web服务器,它可运行在Windows和Linux等多种操作系统上。在Linux下启动Tomcat需要以下步骤: 步骤一:下载并安装Tomcat 首先需要下载Tomcat,并将其安装在Linux的合适目录下。可以从Tomc…

    Java 2023年5月19日
    00
  • java使用poi导出Excel的方法

    下面是关于”Java使用POI导出Excel的方法”的完整攻略。 简介 POI是Apache基金会的开源项目,可以用Java编写程序生成Microsoft Office文档格式,包括Word、Excel和PowerPoint。POI能够读取和写入Microsoft Office文件的各种属性和内容。在本教程中,我们将学习如何利用POI将数据导出到Excel文…

    Java 2023年5月20日
    00
  • 一个Servlet是如何处理多个请求的?

    一个Servlet是通过初始化方法init()和请求处理方法service()来处理多个请求的。 当一个Servlet被容器第一次加载时,它会调用init()方法来初始化Servlet。init()方法只被调用一次,在这个方法中我们可以完成一些初始化操作,例如加载数据、建立数据库连接、初始化缓存等。当Servlet已经被初始化后,任何请求都可以调用服务方法s…

    Java 2023年5月26日
    00
  • Java中的Graphics2D类基本使用教程

    接下来我将为你详细讲解Java中的Graphics2D类基本使用教程。Graphics2D类是Java图形库中比较重要的一个类,它可以用于绘制二维图形,包括直线、多边形、文字、图像等等。Graphics2D类是Graphics类的子类,它可以在Graphics基础上提供更丰富和更高级的图形绘制功能。 1. Graphics2D类的创建 要使用Graphics…

    Java 2023年5月26日
    00
  • Node.js在图片模板上生成二维码图片并附带底部文字说明实现详解

    下面是关于“Node.js在图片模板上生成二维码图片并附带底部文字说明实现详解”的完整攻略: 1. 确认需求和准备工作 首先,我们需要明确需求:将一个指定的网址生成二维码图片,并将其和输入的底部文字添加到一个给定的模板图片上,最终生成一张包含二维码和底部文字的图片。 在开始实现之前,我们需要做一些准备工作: 安装 Node.js 和相关依赖; 准备好模板图片…

    Java 2023年5月30日
    00
  • Java for循环详解

    Java for循环详解 在Java中,for循环是一种常用的迭代结构。它提供了一种在满足特定条件的情况下,重复执行某段代码的方法。下面我们来详细讲解Java for循环的语法和用法。 语法 Java for循环的语法如下: for (initialExpression; testExpression; updateExpression) { // 要执行的…

    Java 2023年5月26日
    00
  • 线上FullGC问题排查实践——手把手教你排查线上问题

    作者:京东科技 韩国凯 一、问题发现与排查 1.1 找到问题原因 问题起因是我们收到了jdos的容器CPU告警,CPU使用率已经达到104% 观察该机器日志发现,此时有很多线程在执行跑批任务。正常来说,跑批任务是低CPU高内存型,所以此时考虑是FullGC引起的大量CPU占用(之前有类似情况,告知用户后重启应用后解决问题)。 通过泰山查看该机器内存使用情况:…

    Java 2023年5月5日
    00
  • Java语言中Swing组件编程详解

    Java语言中Swing组件编程详解 什么是Swing组件 Swing是Java平台提供的一套GUI(图形用户界面)工具包,它可以创建丰富的可视化组件来构建用户界面。 Swing组件是一些可视化的部件,如按钮,文本框,标签等等,它们可以被添加到容器中来构建用户界面。与AWT(另一个Java GUI 工具包)不同,Swing组件是纯Java代码实现的,而不是直…

    Java 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部