【JAVA基础篇教学】第十一篇:Java中字符串操作详解

news2024/11/20 13:32:28

博主打算从0-1讲解下java基础教学,今天教学第十篇:Java中字符串操作详解。   

在 Java 编程中,字符串是一种常见的数据类型,通常用于存储文本信息。Java 提供了丰富的字符串操作方法,可以对字符串进行分割、截取、查找、替换等操作。本文将介绍几种常见的字符串操作及其使用方法。

一、字符串分割

在 Java 中,可以使用 split() 方法将字符串分割为多个子字符串,然后返回一个字符串数组。split() 方法接受一个正则表达式作为参数,用于指定分隔符。

public class StringSplitExample {
    public static void main(String[] args) {
        String str = "Java is a programming language.";
        String[] parts = str.split(" "); // 以空格为分隔符进行分割
        for (String part : parts) {
            System.out.println(part);
        }
    }
}

二、字符串截取

通过 substring() 方法可以截取字符串的一部分,指定起始索引和结束索引即可。注意,截取时起始索引包括在内,但结束索引不包括在内。

public class StringSubstringExample {
    public static void main(String[] args) {
        String str = "Hello, world!";
        String substr = str.substring(7, 12); // 从索引 7 到索引 12(不包括)截取子字符串
        System.out.println(substr);
    }
}

三、字符串查找

使用 indexOf() 方法可以查找字符串中某个子字符串的位置,如果找到则返回第一个匹配的索引,否则返回 -1。

public class StringIndexOfExample {
    public static void main(String[] args) {
        String str = "Java programming language";
        int index = str.indexOf("programming"); // 查找子字符串 "programming" 的位置
        System.out.println("Index of 'programming': " + index);
    }
}

四、字符串替换

通过 replace() 方法可以将字符串中指定的字符或子字符串替换为新的字符或子字符串。

public class StringReplaceExample {
    public static void main(String[] args) {
        String str = "Java is a programming language";
        String replacedStr = str.replace("Java", "Python"); // 将 "Java" 替换为 "Python"
        System.out.println(replacedStr);
    }
}

五、字符串大小写转换

Java 提供了 toLowerCase()toUpperCase() 方法用于将字符串转换为小写或大写形式。

public class StringCaseConversionExample {
    public static void main(String[] args) {
        String str = "Hello, World!";
        String lowerCaseStr = str.toLowerCase(); // 将字符串转换为小写形式
        String upperCaseStr = str.toUpperCase(); // 将字符串转换为大写形式
        System.out.println("Lowercase: " + lowerCaseStr);
        System.out.println("Uppercase: " + upperCaseStr);
    }
}

六、重点说下substring()这个 

1. 截取从指定索引到字符串末尾的子字符串

public class SubstringExample1 {
    public static void main(String[] args) {
        String str = "Hello, world!";
        String substr = str.substring(7); // 从索引 7 开始截取到字符串末尾
        System.out.println(substr);
    }
}

2. 截取指定范围内的子字符串(不包括结束索引) 

public class SubstringExample2 {
    public static void main(String[] args) {
        String str = "Hello, world!";
        String substr = str.substring(7, 12); // 从索引 7 到索引 12(不包括)截取子字符串
        System.out.println(substr);
    }
}

3.获取从指定索引到倒数第二个字符的子字符串 

public class SubstringExample4 {
    public static void main(String[] args) {
        String str = "Hello, world!";
        String substr = str.substring(7, str.length() - 1); // 从索引 7 到倒数第二个字符的子字符串
        System.out.println(substr);
    }
}

本文介绍了 Java 中常见的字符串操作方法,包括分割、截取、查找、替换以及大小写转换等操作。这些方法可以帮助您处理字符串数据,适用于各种字符串处理需求。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1609761.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络变压器在网络分析仪上能通过测试,装上设备后网速达不到呢?

Hqst华轩盛(石门盈盛)电子导读:今天和大家一起探讨网络变压器在网络分析仪上能通过测试,装上设备后网通设备网速达不到的可能原因及其处理方式 一、出现这种情况可能有以下原因: 1.1. 设备兼容性问题:设备其它元器件与 网络…

快速掌握缓存技术:学习多个缓存供应商(ehcache,redis,memcached,jetcache,j2cache)

缓存技术 缓存模拟缓存Spring缓存技术第三方缓存技术Ehcache缓存供应Redis缓存memcached缓存(国内) jetcache缓存供应商jetcache的基本使用设置外部服务设置本地服务 jetcache方法缓存j2cache 缓存 什么是缓存 缓存是一种介于数据永久存储介质与数据应用…

graphviz嵌入latex的方法

效果: graphviz graphviz是一个开源的工具包,用DOT语言编写可以自动转换成图形,因为写法非常简单,只用代码描述好连接关系,就能直接得到最终的图形,所以优势很大。 latex: 就不介绍了 graphvi…

单片机项目中太多全局变量有什么弊端?

最近有读者遇到了这样的问题: 入职接到前同事丢下的“烂摊子”,项目中很多全局变量 问我:全局变量太多有哪些弊端?该如何规避,以及如何管理全局变量等。 全局变量太多有哪些弊端? 真正做过项目的同学应该都…

备战2024年上海初中生古诗文大会:单选题真题示例和独家解析

上海市中小学生的初中生古诗文大会——即上海中学生古诗文大会(初中组)和小学生古诗文大会(比赛)除了题型略有不同外,最主要的是考察的内容深度和广度不同,初中的题目中对于文言文的考察大幅增加&#xff0…

SpringBoot相关知识点总结

1 SpringBoot的目的 简化开发,开箱即用。 2 Spring Boot Starter Spring Boot Starter 是 Spring Boot 中的一个重要概念,它是一种提供依赖项的方式,可以帮助开发人员快速集成各种第三方库和框架。Spring Boot Starter 的目的是简化 Sprin…

C语言数据结构之顺序表

目录 1.线性表2.顺序表2.1顺序表相关概念及结构2.2增删查改等接口的实现 3.数组相关例题 1.线性表 线性表(linear list)是n个具有相同特性(数据类型相同)的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构&#xff…

【RV1106的ISP使用记录之基础知识】硬件连接关系与设备树的构建

RV1106具备2个mipi csi2 dphy硬件,1个VICAP硬件和1个ISP硬件。其中: 1、mipi csi2 dphy 用于对数据流的解析,支持MIPC,LVDS,DVP三种接口; 2、VICAP用于数据流的捕获; 3、ISP用于对图像数据进行处理; 这三个…

【QTM中文教程】01:Quick Terrain Modeller介绍、下载与安装

文章目录 一、Quick Terrain Modeller简介二、Quick Terrain Modeller特点功能三、Quick Terrain Modeller下载安装1. 下载地址2. 安装教程一、Quick Terrain Modeller简介 Quick Terrain Modeler(QTM)是一种专业的地形建模软件,用于处理和分析地形数据。它提供了一系列功能…

【漏洞复现】泛微e-cology ProcessOverRequestByXml接口存在任意文件读取漏洞

漏洞描述 泛微e-cology依托全新的设计理念,全新的管理思想。 为中大型组织创建全新的高效协同办公环境。 智能语音办公,简化软件操作界面。 身份认证、电子签名、电子签章、数据存证让合同全程数字化。泛微e-cology ProcessOverRequestByXml接口存在任意文件读取漏洞 免责声…

【漏洞复现】宏景eHR showmediainfo SQL注入漏洞

0x01 产品简介 北京宏景世纪软件股份有限公司(简称“宏景软件”)专注于国有企事业单位人力与人才管理数智化(数字化、智能化)产品的研发和应用推广。 0x02 漏洞概述 宏景eHR /workbench/duty/showmediainfo接口存在SQL注入漏洞…

Jenkins用maven风格build报错解决过程记录

1、Jenkins2.453新建项目,构建风格选的maven 2、自由风格构建部署没有任何问题,但是maven风格build一直失败,报错如下图 3、解决方案:在系统管理–系统配置–Maven项目配置,删除全局MAVEN_OPT的路径信息,…

oracle 清空回收站

参考官方文档 select * from user_recyclebin; select * from dba_recyclebin; ---清除回收站中当前用户下的对象 purge recyclebin; ---清除回收站中所有的对象 purge dba_recyclebin; ---清除回收站中指定用户的表 PURGE TABLE owner.table_name; ---清除回收站中指…

PSCAD|应用于输电线路故障测距的行波波速仿真分析

1 主要内容 该程序参考文献《应用于输电线路故障测距的行波波速仿真分析》,利用线路内部故障产生的初始行波浪涌达线路两端测量点的绝对时间之差值计算故障点到两端测量点之间的距离,并利用小波变换得到初始行波波头准确到达时刻,从而精准定…

HTML 入门 ( 一 )

HTML文档创建 首先创建一个txt文本文档 修改文件后缀 HTML标签 标签结构 标签又称为元素,是HTML的基本组成单位分为: 双标签与单标签推荐小写标签名 结构: 双标签示例代码: <marquee> My name is Kvein. </marquee>单标签示例代码: <input>标签的并列与嵌…

AndroidStudio右下角显示内存使用情况

目录 一.具体效果 二.4.0以下版本 三.4.0以上版本 四.增加内存配置 一.具体效果 二.4.0以下版本 1.打开 Android Studio. 2.进入设置界面。点击 Android Studio 左上角的“File”&#xff0c;然后选择“Settings” 3.在设置界面中&#xff0c;选择“Appearance & Beha…

汇编语言与x64函数参数传递

本节课学习视频&#xff1a;https://pan.quark.cn/s/429055967dfd 汇编语言作为编程语言与机器语言之间的桥梁&#xff0c;直接反映了硬件的工作方式。在不同的操作系统和硬件架构中&#xff0c;函数参数的传递方式可能有所不同。今天&#xff0c;我们将探讨x64位环境下函数参…

KDD‘23 | AlphaMix: 高效专家混合框架(MoE)显著提高上证50选股表现

KDD23 | AlphaMix: 高效专家混合框架&#xff08;MoE&#xff09;显著提高上证50选股表现 原创 QuantML QuantML 2024-04-18 09:17 上海 Content 本文提出了一个名为AlphaMix的新型三阶段专家混合&#xff08;Mixture-of-Experts&#xff0c;MoE&#xff09;框架&#xff0c;…

c++使用spdlog库打日记

打日记 打日志的本质就是多输出&#xff0c;c没有自带的日志库&#xff0c;只能使用第三方库实现&#xff0c;当然&#xff0c;直接cout输出也可以&#xff0c;但是一般日志库都进行了优化&#xff0c;比我们使用cout输出的效率更高&#xff0c;同时效果也更好&#xff0c;这里…