📌  相关文章
📜  如何获取第二次出现的索引java(1)

📅  最后修改于: 2023-12-03 14:53:16.405000             🧑  作者: Mango

如何获取第二次出现的索引 - Java

在开发Java应用程序时,有时候需要在字符串中查找特定字符或子字符串的出现位置。但是,如果需要获取第二个或更多出现的索引,该怎么办呢?

Java提供了多种方法来获取第二次出现的索引。下面将介绍其中两种方法。

1. 使用indexOf(int ch, int fromIndex)方法

indexOf()方法可用于在字符串中查找指定字符第一次出现的位置。但是,该方法还有一个重载的版本,它可以指定开始搜寻的位置。

例如,以下代码将在字符串"Hello World"中查找字符"o",并从第四个字符开始搜寻。

String str = "Hello World";
int index = str.indexOf('o', 4);
System.out.println(index);

输出:

7

这里的输出为7,因为第二个字符"o"是在第七个位置上出现的。同样的,也可以通过以下代码获取第二次出现的索引:

String str = "Hello World";
int firstIndex = str.indexOf('o');
int secondIndex = str.indexOf('o', firstIndex + 1);
System.out.println(secondIndex);

输出:

7

这里的输出依然为7,因为第二个字符"o"也是在第七个位置上出现的。如果要获取第三个或更多出现的索引,可通过类似的方式循环获取。

2. 使用Apache Commons Lang库的StringUtils类

Apache Commons Lang库是Java中广泛使用的一组通用工具,其中StringUtils类提供了许多字符串处理的便利方法。

具体来说,StringUtils类中提供了一个ordinalIndexOf()方法,它可以在指定字符串中查找指定子字符串第N次出现的位置。例如,以下代码将在字符串"Hello World"中查找第二次出现的字符"o"。

String str = "Hello World";
int index = StringUtils.ordinalIndexOf(str, "o", 2);
System.out.println(index);

输出:

7

这里的输出依然为7,因为第二个字符"o"也是在第七个位置上出现的。

不过需要注意的是,使用StringUtils类需要先导入它的包,且需要通过Maven等构建工具来管理其依赖。如果只是为了获取第二次出现的索引,使用indexOf()方法即可。