栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

java查找字符串中某字符第n次出现的索引

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java查找字符串中某字符第n次出现的索引

项目场景:

例:有一字符串aabbccfafgt,现需要寻找某字符串在改字符串中出现第n次的索引

如:返回出现第3次a的索引,正确应返回6;
返回出现第4次a的索引,正确应返回-1


解决方案:

方法一:使用indexOf

	  
	   private static int indexOfTarget(String source, String target, int n) {
	       int index = source.indexOf(target);
	       int i = 0;
	       while (index != -1) {
	           index = source.indexOf(target, index + i);
	           i++;
	           if (i == n) {
	               break;
	           }
	       }
	       return index;
	   }

方法二:使用匹配(Pattern、Matcher)

	   
	    private static int indexOfTarget(String source, String target, int n) {
	        Pattern pattern = Pattern.compile(target);
	        Matcher matcher = pattern.matcher(source);
	        int i = 0;
	        while (matcher.find()) {
	            i++;
	            if (i == n) {
	                break;
	            }
	        }
	        try {
	            return matcher.start();
	        } catch (IllegalStateException e) {
	            return -1;
	        }
	    }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/997884.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号