12、获取字符串信息

news2025/1/16 14:45:37

目录

一、获取字符串长度

二、字符串查找

(1)indexOf(String s)

(2)lastIndexOf(String str)

三、获取指定索引位置的字符


一、获取字符串长度

使用String类的length()方法可获取声明的字符串对象的长度。

语法如下:

其中,str为字符串对象。

例1:获取字符串长度

public class Demo {  //创建类

       public static void main(String[]args) {  //主方法
              String str = "We are students";  //定义字符串
              int size = str.length();  //查看字符串长度
              System.out.println(size);  //输出结果

       }
}

上段代码是将字符串str的长度赋值给int型变量size,此时变量size的值为15,这表示length()方法返回的字符串的长度包括字符串中的空格。

二、字符串查找

String类提供了两种查找字符串的方法,即indexOf()lastIndexOf()方法。这两种方法都允许在字符串中搜索指定条件的字符或字符串。indexOf()方法返回的是搜索的字符或字符串首次出现的位置,lastIndexOf()方法返回的是搜索的字符或字符串最后一次出现的位置。

(1)indexOf(String s)

该方法用于返回参数字符串s在指定字符串中首次出现的索引位置。当调用字符串的indexOf()方法时,会从当前字符串的开始位置搜索s的位置;如果没有检索到字符串s,该方法的返回值是-1。

语法如下:

  • str:任意字符串对象。
  • substr:要搜索的字符串。

例2:查找字符a在字符串str中的索引位置

public class Demo {  //创建类

       public static void main(String[]args) {  //主方法
              String str = "We are students";  //定义字符串
              int size = str.indexOf('a');  //查看字符串中字符a的位置
              System.out.println(size);  //输出结果

       }
}

运行结果:

注意:JAVA中索引位置从0开始,标点符号也占一个位置,空格也算哦!!!

(2)lastIndexOf(String str)

该方法用于返回指定字符串最后一次出现的索引位置。当调用字符串的lastIndexOf()方法时,会从当前字符串的开始位置检索参数字符串str,并将最后一次出现str的索引位置返回。

如果没有检索到字符串str,该方法返回-1。

语法如下:

  • str:任意字符串对象。
  • substr:要搜索的字符串。

注意:如果lastIndexOf()方法中的参数是空字符串""(注意没有空格),则返回的结果与调用该字符串length()方法的返回结果相同

例3:在项目中创建类Text,在主方法中创建String对象,使用lastIndexOf()方法查看字符串str中空字符串的位置,然后输出字符串的长度,看它们是否相同

public class Text {  //创建类

       public static void main(String[]args) {  //主方法
              String str="We are students";  //定义字符串
              int size=str.lastIndexOf("");
              //将变量size输出
              System.out.println("空字符在字符串str中的索引位置是:"+size);
              System.out.println("字符串str的长度是:"+str.length());

       }
}

运行结果:

三、获取指定索引位置的字符

使用charAt()方法可将指定索引处的字符返回。

语法如下:

  • str:任意字符串。
  • index:整型值,用于指定要返回字符的下标。

例4:在项目中创建类Ref,在主方法中创建String对象,使用charAt()方法查看字符串str中索引位置是7的字符

public class Ref {  //创建类

       public static void main(String[]args) {  //主方法
              String str="We are students";  //定义字符串
              char mychar=str.charAt(7);
              //将变量size输出
              System.out.println("字符串str中的索引位置为7的字符是:"+mychar);

       }
}

运行结果:

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

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

相关文章

Linux Centos9 Stream 安装mysql8

安装mysql8教程前言安装Mysql8.0使用Mysql yum 存储库进行安装。安装mysql8.0启动mysql 服务创建用户完成安装使用Navicat 连接刚装好的mysql如果博主的文章对您有所帮助,可以评论、点赞、收藏,支持一下博主!!!前言 操作系统:Linux Centos9 …

JAVA-Spring Bean作用域

目录 基本概念 Bean 作用域 spring支持的bean作用域有哪些? 近日研究Spring和SpringBoot的一些内容,给大家做一些分享,请大家多多提出您的宝贵意见。 学习知识要了解其涉及到的基本概念,才能理解这个知识,并且做到…

八种排序算法

文章目录1、冒泡排序1.基本思路2.代码实现3.时间复杂度和空间复杂度2、快速排序1.基本思路2.代码实现3.时间复杂度和空间复杂度3、直接插入1.基本思路2.代码实现3.时间复杂度和空间复杂度4、希尔排序1.基本思路2.代码实现3.时间复杂度和空间复杂度5、简单选择1.基本思路2.代码实…

数据库管理系统有哪些

文章目录RDBMS非RDBMSDocumentKey-valueGraphhttps://db-engines.com/en/ranking该网站根据各 DBMS的流行度,列出了它们的排名,每月更新一次。当前是2023年2月份的排名。DataBase Model这一列中显示了各 DBMS所使用的 数据模型,有的使用了单个…

SpringAMQP从0到1

初识MQ 同步和异步通讯 微服务间通讯有同步和异步两种方式: 同步通讯:就像打电话,需要实时响应。 异步通讯:就像发邮件,不需要马上回复。 两种方式各有优劣,打电话可以立即得到响应,但是你却…

Redis最佳实践 | 黑马Redis高级篇

目录 一、Redis键值设计 1、优雅的key结构 2、BigKey问题 什么是BigKey BigKey的危害 如何发现BigKey 如何删除BigKey 3、恰当的数据类型 二、批处理优化 1、Pipeline 大量数据导入的方式 MSET Pipeline 2、集群下的批处理 三、服务端优化 1、持久化配置 2、慢…

MyBatis案例 | 使用映射配置文件实现CRUD操作——多条件查询

本专栏主要是记录学习完JavaSE后学习JavaWeb部分的一些知识点总结以及遇到的一些问题等,如果刚开始学习Java的小伙伴可以点击下方连接查看专栏 本专栏地址:🔥JavaWeb Java入门篇: 🔥Java基础学习篇 Java进阶学习篇&…

【论文阅读】Exathlon: A Benchmark for Explainable Anomaly Detection over Time Series

论文来源 标题: Exathlon: A Benchmark for Explainable Anomaly Detection over Time Series (Vincent Jacob,2021) 作者: Vincent Jacob, Fei Song, Arnaud Stiegler, Bijan Rad, Yanlei Diao, Nesime Tatbul 期刊: Proceedings of the VLDB Endowment 研究问题 Exathlon是…

尚医通(三)医院设置模块后端 | swagger | 统一日志 | 统一返回结果

目录一、医院设置模块需求二、医院设置表结构三、医院模块配置四、医院查询功能1、创建包结构,创建SpringBoot启动类2、编写controller代码3、创建SpringBoot配置类5、运行启动类6、统一返回的json时间格式五、医院设置逻辑删除功能1、HospitalSetController添加删除…

CDA Level Ⅱ 模拟题(二)

练习题 【单选题】1/20 一项针对全国25-35岁用户群的手机喜好调查,但调研项目经费大概是10万元,并且用户群相对集中在中国中部城市。前期预调研显示,用户群的数值方差和调研费用不等。以下哪种情况是比较适宜的调查方式? A.简单随…

【C++入门】

目录1、命名空间1.1、命名空间定义1.2、命名空间的使用2、C输入和输出3、缺省参数3.1 缺省参数概念3.2缺省参数分类4、函数重载4.1、函数重载概念4.2 C支持函数重载的原理--名字修饰5、引用5.1、引用概念5.2、引用特性5.3、常引用5.4、使用场景5.5、传值、传引用效率比较5.6、引…

【JavaEE】如何构造 HTTP请求认识HTTPS

✨哈喽,进来的小伙伴们,你们好耶!✨ 🛰️🛰️系列专栏:【JavaEE】 ✈️✈️本篇内容:如何构造 HTTP 请求同时认识HTTPS! 🚀🚀代码存放仓库gitee:JavaEE代码! …

HW在即,那些被遗忘的物理安全还好吗?

近段时间,一个网络攻击的段子在互联网上火了起来。 “某公司被黑客勒索,每20分钟断一次网,给公司带来了极其严重的影响,但通过技术手段怎么也找不到问题。最后公司发现是黑客买通了保安,每20分钟拔一次网线。” 看完…

即时通讯系列---如何设计消息协议层方案

1. 前言 上篇即时通讯系列—如何下手做技术方案设计 最后总结出IM系统的端侧基本结构 后续文章将从下到上以此做架构设计. 本文Agenda 什么是消息同步同步协议的常见设计方案包含哪些应该采用哪种方案方案细节 2. 名词定义: 消息漫游 : 用户如何从消息服务器获取会话和消息…

MITK2021.02编译记录

编译成功效果 编译文件夹 参考教程 https://libaineu2004.blog.csdn.net/article/details/124202508?spm1001.2101.3001.6650.6&utm_mediumdistribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-6-124202508-blog-76460702.pc_relevant_aa2&depth_…

C语言——数据在内存中的存储

C语言——数据的存储一、C语言中常见的数据类型1.1 数据类型的基本归类二. 整型在内存中的存储2.1原码、反码、补码知识回顾2.2大小端字节序2.2.1 何为大小端字节序2.2.2为什么会产生大小端字节序2.2.3练习三、浮点型在内存中的存储3.1浮点数存储规则一、C语言中常见的数据类型…

Java两大工具库:Commons和Guava(5)

您好,我是湘王,这是我的CSDN博客。值此新春佳节,我给您拜年啦~祝您在新的一年中所求皆所愿,所行皆坦途,展宏“兔”,有钱“兔”,多喜乐,常安宁!在开发中&#…

C语言最鸡肋的关键字

C语言的关键字有很多,要说最不常见的,我觉得应该是auto。 说它不常见,因为很多时候,我们都把它给省略了。 比如在函数内部定义变量a,正常人都会这样写: void function() {int a; }很少有人会在前面加一个…

1616_MIT 6.828 program header相关只是小结

全部学习汇总: GreyZhang/g_unix: some basic learning about unix operating system. (github.com) 前面刚刚分析了elf的header,看了两行代码又遇到了program的header。又是一个概念类的问题,还得去简单了解下。 1. 这里面的信息其实是可能有…

hgame2023 week2 writeup

WEEK2 文章目录WEEK2web1、Git Leakage2、v2board3、DesignerRE1、before_main2、stream3、VidarCamera4、mathpwn1、YukkuriSay2、editable_note3、fast_note4、new_fast_noteCrypto1、零元购年货商店2、包里有什么3、Rabin3、RSA 大冒险1misc1、Tetris Master2、Sign In Pro …