`

Java使用正则进行奇偶替换

阅读更多
/**
	 * 将位于偶数位的数字1替换为2
	 */
	public void regex(){
		String str = "start11111end";
		java.util.regex.Pattern pattern = java.util.regex.Pattern.compile("1");
		java.util.regex.Matcher matcher = pattern.matcher(str);
		StringBuffer sb = new StringBuffer(str.length());
		
		/*int i = 0;
		
		while(matcher.find()){
			
			i ++;
			
			if(i%2==0)
				matcher.appendReplacement(sb, "2");
		}*/
		
		for(int i=1; matcher.find(); i++){//使用for简洁高效
			
			if(i%2==0)
				matcher.appendReplacement(sb, "2");
		}
		
		System.out.println(sb);//此时打印出来的结果漏掉了尾巴
		
		matcher.appendTail(sb);//记得添加后面部分
		System.out.println(sb);
	}

效果如下:
  • 大小: 15.2 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics