使用Java的Pattern和Matcher类可以在字符串中查找2次字符串。下面是一个示例代码:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class StringSearch {
public static void main(String[] args) {
String input = "This is a test string. Test is the keyword.";
String keyword = "test";
Pattern pattern = Pattern.compile(keyword, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(input);
int count = 0;
while (matcher.find()) {
count++;
if (count == 2) {
int start = matcher.start();
int end = matcher.end();
System.out.println("第2次出现的位置:从" + start + "到" + end);
break;
}
}
}
}
在上面的代码中,我们首先定义了一个输入字符串input
和要查找的关键字keyword
。然后,我们使用Pattern.compile()
方法创建一个正则表达式模式,其中的Pattern.CASE_INSENSITIVE
参数表示忽略大小写。接下来,我们使用pattern.matcher()
方法创建一个Matcher对象,并将输入字符串传递给它。
然后,我们使用while
循环和matcher.find()
方法来查找关键字在字符串中的匹配项。每次找到一个匹配项,我们将计数器count
加1。当计数器达到2时,我们获取匹配项的起始位置和结束位置,并打印出来。
以上代码的输出结果将是:
第2次出现的位置:从23到27
这表示关键字"test"在字符串中第2次出现的位置是从索引23到索引27。
关于Java的Pattern和Matcher类的更多详细信息,可以参考腾讯云的Java开发者文档中的相关章节:Java正则表达式。
领取专属 10元无门槛券
手把手带您无忧上云