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

 更新时间:2018年07月23日 08:40:01   作者:李学凯  
今天小编就为大家分享一篇基于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() 的使用方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • MyBatis如何处理MySQL字段类型date与datetime

    MyBatis如何处理MySQL字段类型date与datetime

    这篇文章主要介绍了MyBatis如何处理MySQL字段类型date与datetime问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • Springboot配置图片虚拟映射示例代码

    Springboot配置图片虚拟映射示例代码

    这篇文章主要给大家介绍了关于Springboot配置图片虚拟映射的相关资料,文中通过实例代码介绍的非常详细,对大家学习或者使用springboot具有一定的参考学习价值,需要的朋友可以参考下
    2021-11-11
  • java定时调度器(Quartz)使用实例

    java定时调度器(Quartz)使用实例

    这篇文章主要介绍了java开源定时调度器使用方法
    2013-12-12
  • 面向对象和面向过程的区别(动力节点java学院整理)

    面向对象和面向过程的区别(动力节点java学院整理)

    很多朋友不清楚面向对象和面向过程有什么区别,接下来小编给大家整理了关于面向对象和面向过程的区别讲解,感兴趣的朋友可以参考下
    2017-04-04
  • jmeter正则表达式实例详解

    jmeter正则表达式实例详解

    正则表达式就是记录文本规则的代码。学习正则表达式最好就是从实例下手。下面我们通过实例代码给大家介绍jmeter正则表达式的相关知识,感兴趣的朋友一起看看吧
    2021-12-12
  • Java springboot yaml语法注解

    Java springboot yaml语法注解

    这篇文章主要介绍了SpringBoot中的yaml语法及静态资源访问问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • IDEA操作MongoDB及安全认证方式

    IDEA操作MongoDB及安全认证方式

    这篇文章主要介绍了IDEA操作MongoDB及安全认证方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • java编程之基于SpringBoot框架实现扫码登录

    java编程之基于SpringBoot框架实现扫码登录

    本文将介绍基于SpringBoot + Vue + Android实现的扫码登录demo的总体思路,文中附含详细示例代码,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2021-09-09
  • springcloud整合gateway实现网关全局过滤器功能

    springcloud整合gateway实现网关全局过滤器功能

    本文主要介绍了springcloud整合gateway实现网关全局过滤器功能,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • Java线程重复执行以及操作共享变量的代码示例

    Java线程重复执行以及操作共享变量的代码示例

    这篇文章主要介绍了Java中对线程重复执行以及操作共享变量的代码示例,来自于Java面试题目的练习整理,需要的朋友可以参考下
    2015-12-12

最新评论