当前位置: 首页 > news >正文

String字符串的常见方法总结

目录

一、int length():返回字符串的长度

二、char charAt(int index):返回某索引处的字符

三、boolean isEmpty():判断字符串是否为空

四、String toUpperCase():将字符转换成大写

五、String toLowerCase():将字符转换成小写

六、String trim():去除首尾空白字符

七、boolean equals(Object obj):比较字符串的内容是否相等

八、boolean equalsIgnoreCase(String anotherString):忽略大小写比较字符串内容是否相等

九、int compareTo(String anotherString):比较两个字符串的大小

十、String subStriing(int beginIndex):返回一个新的字符串,它是原字符串从beginIndex开始截取到原字符串结尾的一个子字符串

十一、String subStriing(int beginIndex,int endIndex):返回一个新的字符串,它是原字符串从beginIndex开始截取到endIndex(不包含)的一个子字符串

十二、boolean endsWith(String suffix):测试此字符串是否以指定后缀结尾

十三、boolean startsWith(String prefix):测试此字符串是否以指定前缀开始

十四、boolean startsWith(String prefix,int toffset):测试此字符串是否从指定索引开始的子字符串是否以制定前缀开始

十五、boolean contains(CharSequence s): 判断当前对象代表的字符串是否包含参数字符串内容

十六、int indexOf(String str):返回指定子字符串在此字符串中第一次出现处的索引

十七、int indexOf(String str, int fromIndex):返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始

十八、int lastindexOf(String str):返回指定子字符串在此字符串中最右边出现处的索引

十九、int lastIndexOf(String str, int fromIndex):返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索

注: indexOf和lastIndexOf方法如果未找到都是返回-1

二十、String replace(char oldChar, char newChar):返回一个新的字符串,它是通过用newChar替换此字符串中出现的所有oldChar得到的。

二十一、String replace(CharSequence target, CharSequence replacement): 使用指定的字面值替换序列替换此字符串所有匹配字面值目标序列的子字符串。

二十二、String replaceAll(String regex, String replacement): 使用给定的replacement替换此字符串所有匹配给定的正则表达式的子字符串。

二十三、String replaceFirst(String regex, String replacement): 使用给定的replacement替换此字符串匹配给定的正则表达式的第一个子字符串。

二十四、StringD split(String regex):根据给定正则表达式的匹配拆分此字符串

二十五、StringD split(String regex, int limit): 根据匹配给定的正则表达式来拆分此字符串,最多不超过limit个,如果超过了,剩下的全部都放到最后一个元素中


一、int length():返回字符串的长度

二、char charAt(int index):返回某索引处的字符

三、boolean isEmpty():判断字符串是否为空

四、String toUpperCase():将字符转换成大写

五、String toLowerCase():将字符转换成小写

六、boolean equals(Object obj):比较字符串的内容是否相等

七、boolean equalsIgnoreCase(String anotherString):忽略大小写比较字符串内容是否相等

代码实现:

public class summary10 {public static void main(String[] args) {String str1 = "HelloWorld";String str2 = "";System.out.println(str1.length());//获取字符串的长度 10System.out.println(str1.charAt(0));//获取字符串指定索引处的字符 HSystem.out.println(str1.isEmpty());//判断字符穿是否为空 falseSystem.out.println(str2.isEmpty());//truestr2 =str1.toUpperCase();//将字符串所有小写变为大写 System.out.println(str1);//HelloWorldSystem.out.println(str2);//HELLOWORLDstr2 = str2.toLowerCase();//将字符串所有大写变为小写System.out.println(str2);//helloworldSystem.out.println(str1.equals(str2));//比较字符串的内容是否相同 falseSystem.out.println(str1.equalsIgnoreCase(str2));//与equals相同但是忽略大小写 true}
}

八、String trim():去除首尾空白字符

九、int compareTo(String anotherString):比较两个字符串的大小

十、String subStriing(int beginIndex):返回一个新的字符串,它是原字符串从beginIndex开始截取到原字符串结尾的一个子字符串

十一、String subStriing(int beginIndex,int endIndex):返回一个新的字符串,它是原字符串从beginIndex开始截取到endIndex(不包含)的一个子字符串

代码实现:

public class Symmary02 {public static void main(String[] args) {String str1 = "   he llo world   ";System.out.println(str1);System.out.println(str1.trim());//去除字符串两边的空格String str2 = "abc";String str3 = "aAb";System.out.println(str2.compareTo(str3));//比较两个字符串的大小 33System.out.println(str2.compareToIgnoreCase(str3));//与compareTo相同但是忽略大小写 1//涉及到字符串排序//该方法用于两个相同数据类型的比较,两个不同类型的数据不能用此方法来比较。String str4 = "沧海月明珠有泪,蓝田日暖玉生烟";System.out.println(str4.substring(8));//返回一个新的字符串,它是字符串从beginIndex开始截取到最后的一个子字符串。System.out.println(str4.substring(1,3));//返回一个新的字符串,它是字符串从beginIndex开始截取到endIndex(不包含)的子字符串。System.out.println(str4);}
}

 

图1  

十二、boolean endsWith(String suffix):测试此字符串是否以指定后缀结尾

十三、boolean startsWith(String prefix):测试此字符串是否以指定前缀开始

十四、boolean startsWith(String prefix,int toffset):测试此字符串是否从指定索引开始的子字符串是否以制定前缀开始

十五、boolean contains(CharSequence s): 判断当前对象代表的字符串是否包含参数字符串内容

十六、int indexOf(String str):返回指定子字符串在此字符串中第一次出现处的索引

十七、int indexOf(String str, int fromIndex):返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始

十八、int lastindexOf(String str):返回指定子字符串在此字符串中最右边出现处的索引

十九、int lastIndexOf(String str, int fromIndex):返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索

注: indexOf和lastIndexOf方法如果未找到都是返回-1

代码实现:

public class Summary03 {public static void main(String[] args) {String str1 = "helloworld";//测试此字符串是否以指定的后缀结束System.out.println(str1.endsWith("rld"));//true//测试此字符串是否以指定的前缀开始System.out.println(str1.startsWith("He"));//false//测试此字符串从指定的索引开始的子字符串是否以指定前缀开始System.out.println(str1.startsWith("low",3));//true//当且仅当此字符串包含指定的char值序列时,返回trueSystem.out.println(str1.contains("wor"));//true//找到返回下标位置,找不到返回 -1System.out.println(str1.indexOf("wo"));//5System.out.println(str1.indexOf("rrr"));//-1System.out.println(str1.indexOf('o',5));//6  以最终位置为准System.out.println(str1.lastIndexOf("o"));//6  System.out.println(str1.lastIndexOf("o",5));//4}
}

二十、String replace(char oldChar, char newChar):返回一个新的字符串,它是通过用newChar替换此字符串中出现的所有oldChar得到的。

二十一、String replace(CharSequence target, CharSequence replacement): 使用指定的字面值替换序列替换此字符串所有匹配字面值目标序列的子字符串。

二十二、String replaceAll(String regex, String replacement): 使用给定的replacement替换此字符串所有匹配给定的正则表达式的子字符串。

二十三、String replaceFirst(String regex, String replacement): 使用给定的replacement替换此字符串匹配给定的正则表达式的第一个子字符串。

代码实现:

public class Summary04 {public static void main(String[] args) {String str1 = "茕茕白兔,东走西顾,衣不如新,人不如故";String str2 = str1.replace('白', '黑');System.out.println(str1);//茕茕白兔,东走西顾,衣不如新,人不如故System.out.println(str2);//茕茕黑兔,东走西顾,衣不如新,人不如故String str3 = str1.replace("黑","白");System.out.println(str3);//茕茕白兔,东走西顾,衣不如新,人不如故String str = "12hello34world5456java64142mysql594";System.out.println(str.replaceAll("\\d+",",").replaceAll(","," "));//使用给定的replacement替换此字符串匹配给定的正则表达式的第一个子字符串。str = "hello34world hello java";System.out.println(str.replaceFirst("\\d+"," "));}
}

图2 

自此,String字符串的常见方法总结也就完成啦!希望对需要的小伙伴有帮助!

相关文章:

String字符串的常见方法总结

目录 一、int length():返回字符串的长度 二、char charAt(int index):返回某索引处的字符 三、boolean isEmpty():判断字符串是否为空 四、String toUpperCase():将字符转换成大写 五、String toLowerCase():将字符转换成小写 六、String trim():去除首尾空白…...

Postgresql源码(122)Listen / Notify与事务的联动机制

前言 Notify和Listen是Postgresql提供的不同会话间异步消息通信功能,例子: LISTEN virtual; NOTIFY virtual; Asynchronous notification "virtual" received from server process with PID 8448. NOTIFY virtual, This is the payload; Asy…...

QT 数据库的增加操作和画图 Win

第一步、先配置CMakeLists.txt 在CMakeLists.txt中添加 find_package(Qt6 REQUIRED COMPONENTS Sql) find_package(Qt6 REQUIRED COMPONENTS Charts)target_link_libraries(${PROJECT_NAME} PRIVATE Qt6::Sql) target_link_libraries(${PROJECT_NAME} PRIVATE Qt6::Charts)避…...

【JS逆向学习】同花顺(q.10jqka)补环境

逆向目标 目标网址:https://q.10jqka.com.cn/ 目标接口: https://q.10jqka.com.cn/index/index/board/all/field/zdf/order/desc/page/3/ajax/1/ 目标参数:cookie 逆向过程 老规矩,先分析网络请求,发现是 cookie 加…...

解决MobaXterm网络错误连接超时问题

报错页面: 报错原因: ①网络断开了 ②网络端口,端口号改变 解决办法: ①重新连接网络按R ②固定端口号 第一步:编辑------>虚拟机网络编辑器(我的Linux在虚拟机里) 第二步:用…...

突发!AI独角兽「竹间智能」被曝停工停产6个月

大家好我是二狗。 今天早上起来刷朋友圈,看到一张截图——AI创企竹间智能,宣称因为公司所处的经营环境艰难,部分部门和岗位将从即日起停工停产6个月。 图源:(企服科学) 下面是文字版: 由于公司…...

Qt应用软件【协议篇】GPIO控制LED灯

GPIO简介 GPIO(General Purpose Input/Output,通用输入输出)是一种通用的端口定义,在各种计算机、嵌入式系统和微控制器中广泛应用。通过GPIO,计算机或微控制器可以与外部世界进行交互,例如读取传感器数据或控制外部设备(如LED灯、电机等)。 GPIO的应用场景 按钮和开…...

vulfocus靶场搭建

vulfocus靶场搭建 什么是vulfocus搭建教程靶场配置场景靶场编排靶场优化 什么是vulfocus Vulfocus 是一个漏洞集成平台,将漏洞环境 docker 镜像,放入即可使用,开箱即用,我们可以通过搭建该靶场,简单方便地复现一些框架…...

Swift基础知识:30.Swift访问控制

在 Swift 中,访问控制(Access Control)是一种用于限制代码模块对其他代码模块的访问权限的机制。通过访问控制,可以控制代码中各个部分的可见性和可访问性,以便于提高代码的安全性、可维护性和可复用性。 访问级别 S…...

ElasticSearch聚合操作

目录 ElasticSearch聚合操作 基本语法 聚合的分类 后续示例数据 Metric Aggregation Bucket Aggregation ES聚合分析不精准原因分析 提高聚合精确度 ElasticSearch聚合操作 Elasticsearch除搜索以外,提供了针对ES 数据进行统计分析的功能。聚合(aggregation…...

普中51单片机学习(定时器和计数器)

定时器和计数器 51单片机有两组定时器/计数器,因为既可以定时,又可以计数,故称之为定时器/计数器。定时器/计数器和单片机的CPU是相互独立的。定时器/计数器工作的过程是自动完成的,不需要CPU的参与。51单片机中的定时器/计数器是…...

having子句

目录 having子句 having和where的区别 Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645 现在要求查询出每个职位的名称,职位的平均工资,但是要求显示平均工资高于 200 的职位 按照职位先进行分组,同…...

STM32H7 系列 MCU 内部 SRAM

通过参看《STM32H7 参考手册》“2.4 Embedded SRAM”章节知道 The STM32H743/53xx and STM32H750xB 内存特性: Up to 864 Kbytes of System SRAM 128 Kbytes of data TCM RAM 64 Kbytes of instruction TCM RAM 4 Kbytes of backup SRAM 1.1 TCM SRAM TCM : Tightly-Coupled …...

备战蓝桥杯---动态规划(应用2(一些十分巧妙的优化dp的手段))

好久不见,甚是想念,最近一直在看过河这道题(感觉最近脑子有点宕机QAQ),现在算是有点懂了,打算记录下这道又爱又恨的题。(如有错误欢迎大佬帮忙指出) 话不多说,直接看题&…...

从 git 分支中合并特定文件,而不是整个分支的内容

问题 在git 中,我们可以使用 git merge 命令,合并整个分支,覆盖当前分支的内容,但是有时候我们并不想这么做,而是想 merge 某个文件。那么下面提供两种办法。 方法一 使用 git checkout,从别的分支&#x…...

pycharm 远程运行报错 Failed to prepare environment

什么也没动的情况下,远程连接后运行是没问题的,突然在运行时就运行不了了,解决方案 清理缓存: 有时候 PyCharm 的内部缓存可能出现问题,可以尝试清除缓存(File > Invalidate Caches / Restart&#xff0…...

(十二)【Jmeter】线程(Threads(Users))之setUp 线程组

简述 操作路径如下: 作用:在正式测试开始前执行预加载或预热操作,为测试做准备。配置:设置预加载或预热操作的采样器、循环次数等参数。使用场景:确保在正式测试开始前应用程序已经达到稳定状态,减少测试结果的偏差。优点:提供预加载或预热操作,确保测试的准确性。缺…...

代码随想录算法训练营第二十五天|216.组合总和III,17.电话号码的字母组合

目录 216.组合总和II 17.电话号码的字母组合 216.组合总和II 如果把 组合问题理解了,本题就容易一些了。 题目链接/文章讲解:代码随想录 视频讲解:和组合问题有啥区别?回溯算法如何剪枝?| LeetCode:216.…...

c#创建安装windows服务

背景:最近在做设备数据对接采集时,遇到一些设备不是标准的Service-Client接口,导致采集的数据不够准确;比如设备如果中途开关机后,加工的数量就会从0开始重新计数,因此需要实时监控设备的数据,进行叠加处理;考略到工厂设备比较多,实时监听接口的数据为每秒3次,因此将…...

【JVM】打破双亲委派机制

📝个人主页:五敷有你 🔥系列专栏:JVM ⛺️稳中求进,晒太阳 打破双亲委派机制 打破双亲委派机制三种方法 自定义类加载器 ClassLoader包含了四个核心方法 //由类加载器子类实现,获取二进制数据调用…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度​

一、引言:多云环境的技术复杂性本质​​ 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,​​基础设施的技术债呈现指数级积累​​。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...

Docker 离线安装指南

参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

synchronized 学习

学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...

FFmpeg 低延迟同屏方案

引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...

srs linux

下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...

鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/

使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...

IT供电系统绝缘监测及故障定位解决方案

随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)

Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习) 一、Aspose.PDF 简介二、说明(⚠️仅供学习与研究使用)三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...