【发布时间】:2019-11-11 18:58:29
【问题描述】:
我正在尝试在 Java 中创建一种方法,该方法可以为我提供字符串中第 n 次出现的字符的索引。 例子 String Hello="allo 大家你好吗" 如何获得第三个“Y”的索引? 谢谢你
【问题讨论】:
-
您必须遍历所有字符才能获得第 3 个 Y 的索引
我正在尝试在 Java 中创建一种方法,该方法可以为我提供字符串中第 n 次出现的字符的索引。 例子 String Hello="allo 大家你好吗" 如何获得第三个“Y”的索引? 谢谢你
【问题讨论】:
final String text = "allo every body how are you";
int n = 3;
final char toFind = 'y';
int index = 0;
while (index < text.length()) {
if (text.charAt(index) == toFind) {
n--;
if (n == 0)
break;
}
index++;
}
// index is 24
System.out.print(index);
【讨论】:
public static int findIndex(String string, char c, int n)
{
int len = string.length();
return IntStream.range(0, len)
.filter(i -> c == string.charAt(i))
.skip(n-1)
.findFirst()
.orElse(-1); // No element found
}
【讨论】: