当前位置: 首页 > 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包含了四个核心方法 //由类加载器子类实现,获取二进制数据调用…...

变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析

一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...

【力扣数据库知识手册笔记】索引

索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...

LeetCode - 394. 字符串解码

题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...

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

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

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...

laravel8+vue3.0+element-plus搭建方法

创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...

JVM 内存结构 详解

内存结构 运行时数据区: Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器: ​ 线程私有,程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 ​ 每个线程都有一个程序计数…...

排序算法总结(C++)

目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...

[ACTF2020 新生赛]Include 1(php://filter伪协议)

题目 做法 启动靶机,点进去 点进去 查看URL,有 ?fileflag.php说明存在文件包含,原理是php://filter 协议 当它与包含函数结合时,php://filter流会被当作php文件执行。 用php://filter加编码,能让PHP把文件内容…...

django blank 与 null的区别

1.blank blank控制表单验证时是否允许字段为空 2.null null控制数据库层面是否为空 但是,要注意以下几点: Django的表单验证与null无关:null参数控制的是数据库层面字段是否可以为NULL,而blank参数控制的是Django表单验证时字…...