在Java中,要找出一个字符串中第n次出现的子字符串,可以使用以下方法:
public static String findNthSubstring(String str, String subStr, int n) {
int index = -1;
for (int i = 0; i < n; i++) {
index = str.indexOf(subStr, index + 1);
if (index == -1) {
return null; // 如果找不到第n次出现的子字符串,返回null
}
}
return str.substring(index, index + subStr.length());
}
使用示例:
String str = "Hello, Java is a programming language. Java is widely used.";
String subStr = "Java";
int n = 2;
String result = findNthSubstring(str, subStr, n);
System.out.println(result); // 输出:Java
import java.util.regex.*;
public static String findNthSubstring(String str, String regex, int n) {
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(str);
int count = 0;
while (matcher.find()) {
count++;
if (count == n) {
return matcher.group();
}
}
return null; // 如果找不到第n次出现的子字符串,返回null
}
使用示例:
String str = "Hello, Java is a programming language. Java is widely used.";
String regex = "\\bJava\\b";
int n = 2;
String result = findNthSubstring(str, regex, n);
System.out.println(result); // 输出:Java
这两种方法都可以找到第n次出现的子字符串,选择哪种方法取决于具体的需求和字符串的特点。
腾讯技术创作特训营第二季第4期
腾讯技术创作特训营第二季第5期
云+社区技术沙龙 [第30期]
2023数字化与现代化公益直播讲堂第70讲
云+社区沙龙online第6期[开源之道]
云+社区技术沙龙[第8期]
云+社区技术沙龙 [第31期]
领取专属 10元无门槛券
手把手带您无忧上云