java查找字符的方法_Java字符串查找(3种方法)

在给定的字符串中查找字符或字符串是比较常见的操作。字符串查找分为两种形式:一种是在字符串中获取匹配字符(串)的索引值,另一种是在字符串中获取指定索引位置的字符。

根据字符查找

String 类的 indexOf() 方法和 lastlndexOf() 方法用于在字符串中获取匹配字符(串)的索引值。

1. indexOf() 方法

indexOf() 方法用于返回字符(串)在指定字符串中首次出现的索引位置,如果能找到,则返回索引值,否则返回 -1。该方法主要有两种重载形式:

str.indexOf(value)

str.indexOf(value,int fromIndex)

其中,str 表示指定字符串;value 表示待查找的字符(串);fromIndex 表示查找时的起始索引,如果不指定 fromIndex,则默认从指定字符串中的开始位置(即 fromIndex 默认为 0)开始查找。

例如,下列代码在字符串“Hello Java”中查找字母 v 的索引位置。

String s = "Hello Java";

int size = s.indexOf('v'); // size的结果为8

上述代码执行后 size 的结果为 8,它的查找过程如图 1 所示。

f252565abfca4cab2f16cdbb024a9be5.png

图1 indexOf() 方法查找字符过程

例 1

编写一个简单的 Java 程序,演示 indexOf() 方法查找字符串的用法,并输出结果。代码如下:

public static void main(String[] args) {

String words = "today,monday,sunday";

System.out.println("原始字符串是'"+words+"'");

System.out.println("indexOf(\"day\")结果:"+words.indexOf("day"));

System.out.println("indexOf(\"day\",5)结果:"+words.indexOf("day",5));

System.out.println("indexOf(\"o\")结果:"+words.indexOf("o"));

System.out.println("indexOf(\"o\",6)结果:"+words.indexOf("o",6));

}

运行后的输出结果如下:

原始字符串是'today,monday,sunday'

indexOf("day")结果:2

indexOf("day",5)结果:9

indexOf("o")结果:1

indexOf("o",6)结果:7

2. lastlndexOf() 方法

lastIndexOf() 方法用于返回字符(串)在指定字符串中最后一次出现的索引位置,如果能找到则返回索引值,否则返回 -1。该方法也有两种重载形式:

str.lastIndexOf(value)

str.lastlndexOf(value, int fromIndex)

注意:lastIndexOf() 方法的查找策略是从右往左查找,如果不指定起始索引,则默认从字符串的末尾开始查找。

例 2

编写一个简单的 Java 程序,演示 lastIndexOf() 方法查找字符串的用法,并输出结果。代码如下:

public static void main(String[] args) {

String words="today,monday,Sunday";

System.out.println("原始字符串是'"+words+"'");

System.out.println("lastIndexOf(\"day\")结果:"+words.lastIndexOf("day"));

System.out.println("lastIndexOf(\"day\",5)结果:"+words.lastIndexOf("day",5));

System.out.println("lastIndexOf(\"o\")结果:"+words.lastIndexOf("o"));

System.out.println("lastlndexOf(\"o\",6)结果:"+words.lastIndexOf("o",6));

}

运行后的输出结果如下:

原始字符串是'today,monday,Sunday'

lastIndexOf("day")结果:16

lastIndexOf("day",5)结果:2

lastIndexOf("o")结果:7

lastlndexOf("o",6)结果:1

根据索引查找

String 类的 charAt() 方法可以在字符串内根据指定的索引查找字符,该方法的语法形式如下:

字符串名.charAt(索引值)

提示:字符串本质上是字符数组,因此它也有索引,索引从零开始。

charAt() 方法的使用示例如下:

String words = "today,monday,sunday";

System.out.println(words.charAt(0)); // 结果:t

System.out.println(words.charAt(1)); // 结果:o

System.out.println(words.charAt(8)); // 结果:n

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

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

相关文章

2018 Kaggle 报告:在技术领域,女性从业者持续减少,00后开始展露头脚

全世界只有3.14 % 的人关注了数据与算法之美就在上个月,Kaggle社区发布了《2018 Kaggle机器学习和数据科学调研》,调研结果显示:在技术领域,女性从业者持续减少;00后开始登上从业舞台;而且,23%受…

Nuget Package 支持打包 ReadMe 了

Nuget Package 支持打包 ReadMe 了Intro在 3月份,我们在NuGet生态系统状态上发布了一个博客,其中讨论了过去六个月以来从数百名客户那里获得的见解。客户在我们的调查中发现的最大问题之一是,“大多数软件包的文档不足”,可以从Nu…

幸运从来都只偏爱有准备的人——大龄码农的慌张日记

很多人将一件事的成功归结于能力,也有很多人将其归结为运气。今天要在这里跟大家分享的朋友名叫Leon,他在纽村政府注重本地人就业的大环境下,用时1个月以配偶工签的身份成功拿到大厂offer。接到我们的邀稿后,他花了很多心思写了这…

程序员必备表情包,速速收藏!

全世界只有3.14 % 的人关注了数据与算法之美程序猿怒产品 :程序猿不想和你说话,并… 被吐槽写BUG时怎么办 产品又来提需求 产品又要改需求,怎么办 产品说,这个功能三天后就要 日常怼产品 日常工作内心咆哮 来源:网络版…

深度解读服务治理 ServiceMesh、xDS

最近在同程艺龙蹲坑,聊一聊微服务治理的核心难点、历史演进、最新实现。☺️以上内容属自我思考,如理解有偏差、理解不透彻、现状梳理不清楚的请大家多指教。大纲微服务治理的核心难点方案演进的法宝:代理模式2.1 集中式代理2.2 客户端嵌入Sd…

struts2 kindeditor teatarea拿不到值问题。

2019独角兽企业重金招聘Python工程师标准>>> 源&#xff1a; <script type"text/javascript">var editor;KindEditor.ready(function(K) {editor K.create(textarea[name"userinfo.introduce"], {resizeType : 1,allowPreviewEmoticons …

三个字帮大家总结一下刘强东事件

全世界只有3.14 % 的人关注了数据与算法之美真干了【别和我说话】“工作战衣”的预售活动正在火热进行中&#xff0c;数量有限&#xff0c;欲购从速&#xff01;购买者还将会有机会免费获超级数学建模的第一本书&#xff08;附超模君亲笔签名&#xff0c;只限20名哦&#xff09…

【思维导图】新手该怎么学习C#/WPF

C#和WPF没有什么多大的关系&#xff0c;WPF是一个框架&#xff0c;VB都可以写WPF&#xff0c;至于如何学习C#&#xff0c;还是老样子&#xff01;基础&#xff1a;基础语法基础API基础练习所谓基础语法&#xff0c;包括if /if else &#xff0c;swicth&#xff0c;while&#x…

程序员搞笑故事:给女儿织的辫子 ​​​​,你知道是什么算法吗?

全世界只有3.14 % 的人关注了数据与算法之美1、程序员给女儿织的辫子 &#xff0c;你知道是什么算法吗&#xff1f;推荐阅读《啊哈&#xff01;算法》2、一个姑娘在我女友面前声讨她的男友&#xff0c;女友帮腔说&#xff1a;学土木工程的嘛&#xff0c;肯定又土又木。姑娘问&a…

模块XX.dll已加载,但对DllRegisterServer的调用失败

为什么80%的码农都做不了架构师&#xff1f;>>> 模块"XX.dll"已加载&#xff0c;但对DllRegisterServer的调用失败&#xff0c;错误代码为0x80004005 一句话&#xff0c;权限问题…… 转载于:https://my.oschina.net/szm/blog/76544

爱卡创誓记java刷钱_【178创誓记】快速升级:40到50级只需要两天的黄金刷

本文由178论坛会员&#xff1a;东东呛 转载&#xff0c;如果你是原作者请联系我们&#xff0c;我们会对原创作者给予奖励。(当然您也可以在评论回复表达看法&#xff0c;但是论坛会有更丰富的奖励哦。)朵朵快满级了~~~由于内测只开到50级~~~可还剩下一堆任务~所以刷怪刷到49级半…

大道至简,大数据的小窍门

在大数据时代的现今&#xff0c;数据庞大且繁杂&#xff0c;因此&#xff0c;如何有效利用它们&#xff0c;达到资源不浪费的目的成为了相关工作者思考的问题&#xff0c;于是数据分析就应运而生。在实际生活中&#xff0c;数据分析已经成为人们作出判断和采取行动的基石。比如…

服务端和客户端证书各种组合下对访问者(浏览器/中间人)的影响

今天本来想研究下nginx下如果获取SSL指纹&#xff0c;但是环境没有装成功就尝试了下如果不用nginx直接在服务端拿到SSL指纹&#xff0c;没想到从创建自签名证书到如何开启证书&#xff0c;以及服务端证书和客户端证书各种组合校验的测试就花了我很长时间。(注意自签名证书用Rsa…

如果科学家封神,会有什么称号?

全世界只有3.14 % 的人关注了数据与算法之美你听说过“天雷真君”吗&#xff1f;你知道“虐猫狂人"吗&#xff1f;其实这两个称号是网友分别送给大科学家富兰克林和薛定谔的。今天让我们看看伟大的科学家们还有一些什么有趣的称号。尺规小王子高斯如来神展傅立叶勾股圣手—…

mac php mcrypt,MacOSX 10.10安装mcrypt详细教程分享

mcrypt 是使用安全技术来交换数据文件加密方法. 这是必需的&#xff0c;例如一些 Magento 的 Web 应用程序,购物车软件或一个 PHP 框架&#xff0c;比如 Laravel. 本教程在 OS X 10.10 Yosemite 经过测试。本指南是真正为用户提供了PHP运行于OSX Yosemite 的5.5.14 版本。其他下…

WPF加载高德地图

WPF开发者QQ群&#xff1a; 340500857 前言 有小伙伴问如何加载高德地图。欢迎转发、分享、点赞&#xff0c;谢谢大家~。 接着上一篇源码中放了我的 BingMap Key 请大家不要滥用&#xff0c;谢谢。也可以自行申请 BingMap Key https://www.bingmapsportal.com/效果预览&#x…

深度学习与机器学习到底什么关系?

最近广州的天气老是变幻无常&#xff0c;前脚还冻得瑟瑟发抖&#xff0c;后脚又开始夏天模式&#xff08;如下图&#xff09;&#xff0c;让小天甚是怀念每天艳阳高照的夏天&#xff0c;虽然热了点但好歹不用担心猝不及防地收到寒风暴雨黄色预警。说到夏天&#xff0c;不得不提…

全选按钮的使用。winfrom程序中,对全选按钮的理解,欢迎拍砖!

最近在做公司项目时&#xff0c;用到了一些单选多选的处理情况。特编辑此文&#xff0c;欢迎批评指正。&#xff08;有图有真相&#xff09; winfrom程序。 首先&#xff0c;需要绑定某些用户&#xff0c;该用于由当前登陆用户获取。 private void BindUser() { …

理工男一般不浪漫,一浪漫便值很多年

今晚是平安夜接下来就是圣诞元旦小木先祝大家幸福、快乐、健康一年一度“最佳”圣诞元旦礼物奖就要发表了中了直男毒的礼物你们挚爱的女朋友可是不要的哦今天小木就大家扒一扒满满直男的礼物是怎样的&#xff01;Part 1“男票送了我一箱木瓜&#xff0c;说是丰胸疗程&#xff0…

C#序列化与反序列化详解

什么是序列化以及如何实现序列化&#xff1f;序列化是通过将对象转换为字节流&#xff0c;从而存储对象或将对象传输到内存&#xff0c;数据库或文件的过程。主要用途是保存对象的状态&#xff0c;包括对象的数据&#xff0c;以便能够在需要是重建对象。反向过程称为 反序列化。…