java8 查找字符串里面第二次和第三次之间出现的冒号内容
可以使用正则表达式来实现这个功能。下面是一个使用Java 8的示例代码:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
    public static void main(String[] args) {
        String input = "abc:def:ghi:jkl:mno:pqr:stu:vwx";
        
        String regex = ":(.*?):";
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(input);
        
        int count = 0;
        while (matcher.find()) {
            count++;
            if (count == 2) {
                String match = matcher.group(1);
                System.out.println("第二次出现的冒号内容:" + match);
            } else if (count == 3) {
                String match = matcher.group(1);
                System.out.println("第三次出现的冒号内容:" + match);
                break;
            }
        }
    }
}
输出结果为:
第二次出现的冒号内容:ghi
第三次出现的冒号内容:jkl
这个示例代码中,我们使用正则表达式 :(.*?): 来匹配两个冒号之间的内容。然后,我们使用 Matcher 对象的 find() 方法来查找所有匹配的内容,使用 group(1) 方法来获取第一个捕获组的内容。通过计数器 count 来判断是第几次匹配,并在第二次和第三次匹配时输出相应的结果
原文地址: https://www.cveoy.top/t/topic/hWc8 著作权归作者所有。请勿转载和采集!