Java中的String类的常用方法(对于字符串的常用操作)

目录

一、获取指定索引的字符

二、 获取指定字符或者字符串的索引位置

三、判断字符串是否以指定内容开头或结尾

四、替换指定的字符或者是字符串

五、获取字符串的子串

六、将字符串转换为字符数组

 七、比较字符串的内容是否相等

 八、连接字符串

九、比较两个字符串的大小


一、获取指定索引的字符

charAt(int index)该方法接受一个参数,就是指定的索引,返回指定索引位置的字符,返回值是字符型。

 public static void main(String[] args) {String s="abcdef";System.out.println(s.charAt(1));}

二、 获取指定字符或者字符串的索引位置

indexOf(char ch)该方法接受一个参数,是字符类型,返回值是int型,表示指定字符第一次出现在字符串中的位置,没有找到就返回-1,注意是第一次!

indexOf(char ch,int fromIndex)表示的是从fromIndex索引开始,上面的是表示从索引0开始。

indexOf(String s)该方法接受一个参数,是字符串类型,返回值是String类型,表示指定字符串第一次出现在字符串中的索引位置,没有找到返回-1,注意是第一次出现!

indexOf(String s,int fromIndex)从fromIndex索引开始。

 public static void main(String[] args) {String s="abcdbefbef";System.out.println(s.indexOf('b',3));System.out.println(s.indexOf('b'));System.out.println(s.indexOf("bef"));System.out.println(s.indexOf("bef",6));}

三、判断字符串是否以指定内容开头或结尾

startsWith(String s)判断字符串是否以指定内容开头,是的话返回true,否的话返回false。

endsWith(String s)判断字符串是否以指定内容结尾,是的话返回true,否的话返回false。

 public static void main(String[] args) {String s="abcdbefbef";System.out.println(s.startsWith("abc"));System.out.println(s.startsWith("bc"));System.out.println(s.endsWith("ef"));System.out.println(s.endsWith("cef"));}

四、替换指定的字符或者是字符串

replace(char oldchar,char newchar)第一个参数是被替换的,第二个参数是用来替换的,虽然参考上是字符型,但是字符型和字符串String型都是可以的,它是表示满足条件的全都替换,而不是只是一个!

replaceAll(String regex,String newchar)看字面意思它和replace方法一个是替换单个匹配项,一个是全都替换,但不是这样的!他们都是替换匹配所有项,只不过replaceAll它的接收参数是正则表达式而已。

要特别主要的是,这两个方法的使用不会改变原来的字符串,他们只是创建了一个新的字符串!!!

public static void main(String[] args) {String s="abcdab1a2";System.out.println(s.replace('a','1'));System.out.println(s.replace("b","1"));System.out.println(s.replaceAll("\\w","9"));System.out.println(s);}

五、获取字符串的子串

substring(int begin)接受一个参数表示开始的索引位置,一直到末尾,截取的子串

substring(int begin,int end)截取的子串是[begin,end),从begin开始,到end结束,但是不包括end截取的子串。

注意两者都不改变原来的字符串!

 public static void main(String[] args) {String s="012345";System.out.println(s.substring(2));System.out.println(s.substring(2,4));System.out.println(s);}

六、将字符串转换为字符数组

toCharArray()将指定的字符串转换为字符数组。

 public static void main(String[] args) {String s="012345";char[] c=s.toCharArray();for(char cc:c){System.out.println(cc);}System.out.println(s);}

 七、比较字符串的内容是否相等

equals(String s)比较两个字符串的内容是否相等,原本equals比较的是地址,只不过String重写了equals方法,所以比较的是字符串的内容

equalsIgnoreCase()忽略大小写比较字符串的内容是否相等。

 public static void main(String[] args) {String s1="abc",s2="ABC";System.out.println(s1.equals(s2));System.out.println(s1.equalsIgnoreCase(s2));}

 八、连接字符串

concat(String s)连接字符串,参数中的字符串连接在后面。

 public static void main(String[] args) {String s1="abc",s2="ABC";System.out.println(s1.concat(s2));System.out.println(s2.concat(s1));}

九、比较两个字符串的大小

compareTo()方法,参数接受一个字符串
比较大小的规则其实就是按照ASCII的大小比较的
两个字符串,出现的第一个两个字符不同的,返回他们的ASCII值的
如果他们的字符都一样的话,返回的就是他们的长度差由此可知,两个字符串相等的话,返回的就是0
如s1.compareTo(s2)比较的话,是s1-s2的哦,谁调用,谁就减!!!
public static void main(String[] args) {String s1="abc",s2="abd",s3="abcde",s4="abc";System.out.println(s1.compareTo(s2));System.out.println(s2.compareTo(s1));System.out.println(s1.compareTo(s3));System.out.println(s3.compareTo(s1));System.out.println(s1.compareTo(s4));}

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【AIGC】Stable Diffusion的ControlNet参数入门

Stable Diffusion 中的 ControlNet 是一种用于控制图像生成过程的技术,它可以指导模型生成特定风格、内容或属性的图像。下面是关于 ControlNet 的界面参数的详细解释: 低显存模式 是一种在深度学习任务中用于处理显存受限设备的技术。在这种模式下&am…

(2024|ICLR,SVD,软加权正则化,推理时文本嵌入优化)文本到图像扩散模型的图像内容抑制

Get What You Want, Not What You Dont- Image Content Suppression for Text-to-Image Diffusion Models 公和众和号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群) 目录 0. 摘要 2. 相关工作 3. 方…

【C++】---类和对象(中)默认成员函数 和 操作符重载

前言: 假如一个类中既没有成员变量也没有成员函数,那么这个类就是空类,空类并不是什么都没有,因为所有类都会生成如下6个默认成员函数: 一、构造函数 1、构造函数的定义及其特性 对于日期类对象,我们可…

VBA技术资料MF119:数据验证的添加与删除

我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套,分为初级、中级、高级三大部分,教程是对VBA的系统讲解&#…

如何在没有第三个变量的情况下进行两个变量交换大小

昨天我看到了一个很有意思的一个面试题:如何在没有第三个变量的情况下进行两个变量交换大小 大家再在平时进行两个变量交换大小的时候通常会进行将其中的一个赋值给第三个变量,借助第三个变量进行两个变量交换,如下: #include &…

java8-用流收集数据-6

本章内容口用co1lectors类创建和使用收集器 口将数据流归约为一个值 口汇总:归约的特殊情况 数据分组和分区口 口 开发自己的自定义收集器 我们在前一章中学到,流可以用类似于数据库的操作帮助你处理集合。你可以把Java8的流看作花哨又懒惰的数据集迭代器。它们…

Nuxt3+Vue3(Composition API)+TS+Vite+Ant Design Vue 搭建

最近官网搭建选择了nuxtjs,由于框架更新了,其中语法也有很多变化,中间遇到了一些问题点做下总结。 nuxt3官方文档地址:https://nuxt.com/docs/getting-started/installation 安装 在安装Nuxt3之前,你需要保证你的nod…

中科星图——LANDSAT_8/02/T1/RAW的Landsat8_C2_RAW类数据集

数据名称: Landsat8_C2_RAW 数据来源: USGS 时空范围: 2020年1月-2023年3月 空间范围: 全国 数据简介: Landsat8_C2_RAW数据集是经过缩放和校准的辐射亮度产品,按照数据质量划分为T1和T2。数据质量…

进程地址空间

虚拟地址: 引子: 我们在Linux中使用fork函数创建子进程时是否会产生一下几个疑惑。 为什么一个变量id具有两个值? 学习C语言后,我们都知道一个函数是不会返回两个值的,那么我们只能猜测是fork函数return了两次。 事实…

(16)Hive——企业调优经验

前言 本篇文章主要整理hive-3.1.2版本的企业调优经验,有误请指出~ 一、性能评估和优化 1.1 Explain查询计划 使用explain命令可以分析查询计划,查看计划中的资源消耗情况,定位潜在的性能问题,并进行相应的优化。 explain执行计划…

基于Python实现的元宵节猜灯谜兑奖软件源码,输入灯谜序号,获取谜面及谜底

基于Python实现的元宵节猜灯谜兑奖软件源码,输入灯谜序号,获取谜面及谜底 核心代码: import sys from time import sleep import xlrd import os import tkintertable_listA "" table_listB ""filename os.getcwd()&…

一个简单的链接脚本,用来将两个以上的.o文件合并在一起,以及如何看机器码的含义

下面是一个简单的lds链接脚本,用来将两个以上的.o文件合并在一起,并且用来指定链接后的代码加载到内存中的起始地址。 SECTIONS 说明这是段的描述脚本 {. 0xD0020010; 加载代码到内存中的起始地址为0xD0020010.text : { 代码段mystart.o mystar…