热门标签 | HotTags
当前位置:  开发笔记 > Android > 正文

基于Java中字符串indexof()的使用方法

今天小编就为大家分享一篇基于Java中字符串indexof()的使用方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

Java中字符串中子串的查找共有四种方法(indexof())

indexOf 方法返回一个整数值,指出 String 对象内子字符串的开始位置。如果没有找到子字符串,则返回-1。

如果 startindex 是负数,则 startindex 被当作零。如果它比最大的字符位置索引还大,则它被当作最大的可能索引。

Java中字符串中子串的查找共有四种方法,如下:

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

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

3、int lastIndexOf(String str) :返回在此字符串中最右边出现的指定子字符串的索引。

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

public class Test {
 public static void main(String[] args) {
  String s = "xXccxxxXX";
  // 从头开始查找是否存在指定的字符   //结果如下 
  System.out.println(s.indexOf("c"));  //2
  // 从第四个字符位置开始往后继续查找,包含当前位置
  System.out.println(s.indexOf("c", 3)); //3
  //若指定字符串中没有该字符则系统返回-1
  System.out.println(s.indexOf("y"));  //-1
  System.out.println(s.lastIndexOf("x")); //6
 }
}

虽然简单,我就做个笔记。

 private static void testIndexOf() {
  String string = "aaa456ac";
 
  //查找指定字符是在字符串中的下标。在则返回所在字符串下标;不在则返回-1.
  System.out.println(string.indexOf("b"));//indexOf(String str);返回结果:-1,"b"不存在
 
  // 从第四个字符位置开始往后继续查找,包含当前位置
  System.out.println(string.indexOf("a",3));//indexOf(String str, int fromIndex);返回结果:6
 
  //(与之前的差别:上面的参数是 String 类型,下面的参数是 int 类型)参考数据:a-97,b-98,c-99
 
  // 从头开始查找是否存在指定的字符
  System.out.println(string.indexOf(99));//indexOf(int ch);返回结果:7
  System.out.println(string.indexOf('c'));//indexOf(int ch);返回结果:7
 
  //从fromIndex查找ch,这个是字符型变量,不是字符串。字符a对应的数字就是97。
  System.out.println(string.indexOf(97,3));//indexOf(int ch, int fromIndex);返回结果:6
  System.out.println(string.indexOf('a',3));//indexOf(int ch, int fromIndex);返回结果:6
 
  //这个就是灵活运用String类提供的方法,拆分提供的字符串。
  //String s = "D:\\Android\\sdk\\add-ons";
  //System.out.println(s);
  //while (s.lastIndexOf("\\") > 0) {
  // s = s.substring(0, s.lastIndexOf("\\"));
  // System.out.println(s);
  //}
 }

上面代码的运行结果如下:

以上这篇基于Java中字符串indexof() 的使用方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


推荐阅读
  • 本文介绍了如何在AngularJS应用中使用ng-repeat指令创建可单独点击选中的列表项,并详细描述了实现这一功能的具体步骤和代码示例。 ... [详细]
  • 在项目冲刺的最后一天,团队专注于软件用户界面的细节优化,包括调整控件布局和字体设置,以确保界面的简洁性和用户友好性。 ... [详细]
  • 探讨如何在映射文件中处理重复的属性字段,以避免数据操作时出现错误。 ... [详细]
  • Fiddler 安装与配置指南
    本文详细介绍了Fiddler的安装步骤及配置方法,旨在帮助用户顺利抓取用户Token。文章还涵盖了一些常见问题的解决方案,以确保安装过程顺利。 ... [详细]
  • 网络流24题——试题库问题
    题目描述:假设一个试题库中有n道试题。每道试题都标明了所属类别。同一道题可能有多个类别属性。现要从题库中抽取m道题组成试卷。并要求试卷包含指定类型的试题。试设计一个满足要求的组卷算 ... [详细]
  • Android 中的布局方式之线性布局
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 利用无代码平台实现高效业务应用开发
    随着市场环境的变化加速,全球企业都在探索更为敏捷的应用开发模式,以便快速响应新兴的商业机遇。然而,传统的软件开发方式不仅成本高昂,而且耗时较长,这往往导致IT与业务部门之间的合作障碍,进而影响项目的成功。本文将探讨如何通过无代码开发平台解决这些问题。 ... [详细]
  • 在Android应用开发过程中,开发者经常遇到诸如CPU使用率过高、内存泄漏等问题。本文将介绍几种常用的命令及其应用场景,帮助开发者有效定位并解决问题。 ... [详细]
  • 为何Compose与Swarm之后仍有Kubernetes的诞生?
    探讨在已有Compose和Swarm的情况下,Kubernetes是如何以其独特的设计理念和技术优势脱颖而出,成为容器编排领域的领航者。 ... [详细]
  • 本文介绍了如何通过安装 sqlacodegen 和 pymysql 来根据现有的 MySQL 数据库自动生成 ORM 的模型文件(model.py)。此方法适用于需要快速搭建项目模型层的情况。 ... [详细]
  • 处理Android EditText中数字输入与parseInt方法
    本文探讨了如何在Android应用中从EditText组件安全地获取并解析用户输入的数字,特别是用于设置端口号的情况。通过示例代码和异常处理策略,展示了有效的方法来避免因非法输入导致的应用崩溃。 ... [详细]
  • 本文探讨了程序员这一职业的本质,认为他们是专注于问题解决的专业人士。文章深入分析了他们的日常工作状态、个人品质以及面对挑战时的态度,强调了编程不仅是一项技术活动,更是个人成长和精神修炼的过程。 ... [详细]
  • 在1995年,Simon Plouffe 发现了一种特殊的求和方法来表示某些常数。两年后,Bailey 和 Borwein 在他们的论文中发表了这一发现,这种方法被命名为 Bailey-Borwein-Plouffe (BBP) 公式。该问题要求计算圆周率 π 的第 n 个十六进制数字。 ... [详细]
  • 2023年,Android开发前景如何?25岁还能转行吗?
    近期,关于Android开发行业的讨论在多个平台上热度不减,许多人担忧其未来发展。本文将探讨当前Android开发市场的现状、薪资水平及职业选择建议。 ... [详细]
  • 使用TabActivity实现Android顶部选项卡功能
    本文介绍如何通过继承TabActivity来创建Android应用中的顶部选项卡。通过简单的步骤,您可以轻松地添加多个选项卡,并实现基本的界面切换功能。 ... [详细]
author-avatar
yjlz2012
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有