在一个字符串中查找子字符串出现的次数(两种方法)(遍历查找和切割判断)

                /**
		 * 思路:开始找,如果返回-1,结束程序
		 * 		否则,计数+1,再继续从新的位置开始找,直到找不到
		 */
		String str = "www.baidu.com/www.sina.com";
		String subStr = "www";
		int count = 0;
		
		//记录找到的索引
		int i = 0;
		while(true) {
			if(str.indexOf(subStr, i) == -1) {
				//找不到,跳出来
				break;
			}else {
				//找到,计数
				count ++;
				//更新查找索引值,继续找
				i = str.indexOf(subStr, i)+1;
			}
		}
		System.out.println(subStr+"在"+str+"中出现的次数:"+count);
                /**
		 * 思路二:使用子串来切割父串,根据结果数组长度获取次数
		 * 		考虑特殊情况--> 子串在末尾,要给截取结果数组长度加1
		 */
		String str = "www.baidu.com/www.sina.com";
		String subStr = "www";
		int count = 0;
		String[] arr = str.split(subStr);
		int len = arr.length;
		if(str.endsWith(subStr)) {
			//如果子串在末尾
			len ++;
		}
		count = len - 1;
		System.out.println(subStr+"\n在"+str+"中出现的次数:"+count);



评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值