Java indexOf() 方法

Wesley13
• 阅读 300

indexOf() 方法有以下四种形式:

  • public int indexOf(int ch): 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。

  • public int indexOf(int ch, int fromIndex): 返回从 fromIndex 位置开始查找指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。

  • int indexOf(String str): 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。

  • int indexOf(String str, int fromIndex): 返回从 fromIndex 位置开始查找指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。

语法

public int indexOf(int ch ) 或 public int indexOf(int ch, int fromIndex) 或 int indexOf(String str) 或 int indexOf(String str, int fromIndex)

参数

  • ch -- 字符,Unicode 编码。

  • fromIndex -- 开始搜索的索引位置,第一个字符是 0 ,第二个是 1 ,以此类推。

  • str -- 要搜索的子字符串。

返回值

查找字符串,或字符 Unicode 编码在字符串出现的位置:

实例 1

public class Main { public static void main(String args[]) { 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 } }

输出结果为:

-1
6 7 7 6 6

指定子字符串在字符串中第一次出现处的索引,从指定的索引开始。

实例 2

public class Test { public static void main(String args[]) { String Str = new String("菜鸟教程:www.runoob.com"); String SubStr1 = new String("runoob"); String SubStr2 = new String("com"); System.out.print("查找字符 o 第一次出现的位置 :" ); System.out.println(Str.indexOf( 'o' )); System.out.print("从第14个位置查找字符 o 第一次出现的位置 :" ); System.out.println(Str.indexOf( 'o', 14 )); System.out.print("子字符串 SubStr1 第一次出现的位置:" ); System.out.println( Str.indexOf( SubStr1 )); System.out.print("从第十五个位置开始搜索子字符串 SubStr1 第一次出现的位置 :" ); System.out.println( Str.indexOf( SubStr1, 15 )); System.out.print("子字符串 SubStr2 第一次出现的位置 :" ); System.out.println(Str.indexOf( SubStr2 )); } }

以上程序执行结果为:

查找字符 o 第一次出现的位置 :12 从第14个位置查找字符 o 第一次出现的位置 :17 子字符串 SubStr1 第一次出现的位置:9 从第十五个位置开始搜索子字符串 SubStr1 第一次出现的位置 :-1 子字符串 SubStr2 第一次出现的位置 :16
点赞
收藏
评论区
推荐文章
秃头王路飞 秃头王路飞
2个月前
webpack5手撸vue2脚手架
webpack5手撸vue相信工作个12年的小伙伴们在面试的时候多多少少怕被问到关于webpack方面的知识,本菜鸟最近闲来无事,就尝试了手撸了下vue2的脚手架,第一次发帖实在是没有经验,望海涵。 language JavaScript "name": "vuecliversion2", "version": "1.0.0", "desc
技术小男生 技术小男生
2个月前
linux环境jdk环境变量配置
1:编辑系统配置文件vi /etc/profile2:按字母键i进入编辑模式,在最底部添加内容: JAVAHOME/opt/jdk1.8.0152 CLASSPATH.:$JAVAHOME/lib/dt.jar:$JAVAHOME/lib/tools.jar PATH$JAVAHOME/bin:$PATH3:生效配置
光头强的博客 光头强的博客
2个月前
Java面向对象试题
1、 请创建一个Animal动物类,要求有方法eat()方法,方法输出一条语句“吃东西”。 创建一个接口A,接口里有一个抽象方法fly()。创建一个Bird类继承Animal类并实现 接口A里的方法输出一条有语句“鸟儿飞翔”,重写eat()方法输出一条语句“鸟儿 吃虫”。在Test类中向上转型创建b对象,调用eat方法。然后向下转型调用eat()方
blmius blmius
1年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录 问题 用navicat导入数据时,报错: 原因这是因为当前的MySQL不支持datetime为0的情况。 解决修改sql\mode: sql\mode:SQL Mode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。 全局s
干货满满张哈希 干货满满张哈希
11个月前
Java Record 的一些思考 - 默认方法使用以及基于预编译生成相关字节码的底层实现
快速上手 Record 类我们先举一个简单例子,声明一个用户 Record。public record User(long id, String name, int age) 这样编写代码之后,Record 类默认包含的元素和方法实现包括:1. record 头指定的组成元素(int id, String name, int age),并且,这些元素都是 f
Wesley13 Wesley13
1年前
JS操作数组
1.  如果数组中存在 item,则返回元素在数组中的位置,否则返回 -1 function indexOf(arr, item) { if(Array.prototype.indexOf) {//IE浏览器支不支持indexOf return arr.indexOf(item); }
Wesley13 Wesley13
1年前
JS的部分部分疑问和小结
2015/9/1  1.在字符串中没有可以所需要查找的“X”的时候,返回的值   java:lastIndexof -1   js: IndexOf undefined... 2015/9/10  1.js:string.substr(start\[,length\])   如,selecter.dm = selectIndex.sub
Stella981 Stella981
1年前
JS学习之路之JavaScript match() 方法
match() 方法,在字符串内找到相应的值并返回这些值,()内匹配字符串或者正则表达式。 该方法类似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置。 demo1:<script type="text/javascript"> var str="Hello world!" d
虾米大王 虾米大王
4个月前
java代码075
code075.java package pack02;//Book ͼ����public class code075 private int id; //ͼ���� private String name;//ͼ������ private double price;//�۸� private int bookCount;//���� private S
虾米大王 虾米大王
4个月前
java代码078
code078.java package pack02;//ͼ����,public class code078 private int id; //ͼ���� private String name;//ͼ������ private double price;//�۸� private int bookCount;//���� private Strin
虾米大王 虾米大王
4个月前
java代码089
code089.java package pack02;//product��Ʒ�࣬��ʹ��֮ǰ��book�����public class code089 //��̬���� public static final int PAGESIZE 2; private int id; private String name; private double