String之regionMatches方法

Java 字符串有很多有用的方法,如subString()、split()等,regionMatches()虽然不常用,但也是一个很好用的方法。

该方法是如下定义的:

regionMatches(int firstStart, String other, int otherStart, int len)

当某个字符串调用该方法时,表示从当前字符串的firstStart位置开始,取一个长度为len的子串;然后从另一个字符串other的otherStart位置开始也取一个长度为len的子串,然后比较这两个子串是否相同,如果这两个子串相同则返回true,否则返回false。


该方法还有另一种重载:

str.regionMatches(boolean ignoreCase, int firstStart, String other, int otherStart, int len)

可以看到只是多了一个boolean类型的参数,用来确定比较时是否忽略大小写,当ignoreCase为true表示忽略大小写。


一个很常见的问题:问一个字符串中某个子串出现了多少次?就可以使用上面的方法解决,具体代码示例如下:

public class RegionMatcher {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int number = 0;
		String str = "fdafdadfadf";
		for (int i = 0; i < str.length(); i++) {
			if (str.regionMatches(i, "da", 0, 2)) {
				number++;
			}
		}
		
		System.out.println(number);

	}

}

上面例子计算出了在字符串str=“fdafdadfadf”中“da”出现的次数。



  • 11
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值