`

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
分享到:
评论

相关推荐

    Java练习题,实用于Java大部分人群

    - 使用正则表达式或循环来逐个字符检查。 #### 45. 素数判断 - **知识点**:判断一个数是否为素数。 - **实现方法**: - 检查该数是否能被2到根号n之间的任何数整除。 #### 46. 字符串反转 - **知识点**:反转...

    《Java范例开发大全》.pdf

    6. **字符串处理**:字符串类的使用,如charAt()、比较、解码、查找位置、替换字符、分割、substring()、长度计算、大小写转换、去除空白、正则表达式验证电话号码格式等。 7. **数据结构与算法**:排序算法的实现...

    java范例开发大全源代码

     实例105 使用正则表达式验证电话号码的格式 141  6.2 字符串缓存类StringBuffer 143  实例106 创建字符串缓存类 143  实例107 提取单个字符 144  实例108 给指定字符赋值 145  实例109 插入新的...

    Java范例开发大全 (源程序)

     实例105 使用正则表达式验证电话号码的格式 141  6.2 字符串缓存类StringBuffer 143  实例106 创建字符串缓存类 143  实例107 提取单个字符 144  实例108 给指定字符赋值 145  实例109 插入新的字符 146...

    java范例开发大全

    实例105 使用正则表达式验证电话号码的格式 141 6.2 字符串缓存类StringBuffer 143 实例106 创建字符串缓存类 143 实例107 提取单个字符 144 实例108 给指定字符赋值 145 实例109 插入新的字符 146 实例110 插入新的...

    中级JAVA笔试题(附参考标准答案).docx

    - 示例代码中使用了正则表达式和`Matcher`类,遍历字符串,根据奇偶位置替换"java"和"JAVA"。 7. **数据库优化方法**: - 索引:创建合适的索引可以显著提升查询速度。 - 缓存:使用缓存技术(如Oracle的PGA, ...

    java范例开发大全(pdf&源码)

    实例105 使用正则表达式验证电话号码的格式 141 6.2 字符串缓存类StringBuffer 143 实例106 创建字符串缓存类 143 实例107 提取单个字符 144 实例108 给指定字符赋值 145 实例109 插入新的字符 146 实例110 插入新的...

    Java范例开发大全(全书源程序)

    实例105 使用正则表达式验证电话号码的格式 141 6.2 字符串缓存类StringBuffer 143 实例106 创建字符串缓存类 143 实例107 提取单个字符 144 实例108 给指定字符赋值 145 实例109 插入新的字符 146 实例110 ...

    剑指offer(java实现)

    - **字符串处理**:字符串查找、替换、反转、拼接等操作,涉及正则表达式、模式匹配等。 - **位运算**:高效处理整数,用于解决位操作、奇偶性判断、快速幂等题目。 - **递归与迭代**:理解递归原理,熟练掌握...

    LeetCode:我的基于Java的leetcode演示

    Java中的String类提供了丰富的API来处理字符串,如拼接、查找、替换等。在LeetCode中,字符串题目涉及到模式匹配、正则表达式、编码解码等。 8. **性能优化**: LeetCode的题目通常有时间复杂度和空间复杂度的...

    LeetCodePractice:LeetCode实践

    对于Java开发者来说,利用LeetCode进行实践是提高编程技能的有效途径。本项目"LeetCodePractice"显然是一个专门针对LeetCode的Java解题集,下面我们将深入探讨这个项目的相关知识点。 1. **数据结构与算法** - **...

    练习:练习有关leetcode等的问题

    这个“练习:练习有关LeetCode等的问题”很显然是一个关于使用Java语言解决LeetCode上的问题的练习项目。在这个项目中,我们可能会涉及到各种Java编程和算法的知识点。 首先,我们要理解LeetCode上的问题类型。这些...

    LeetCode

    7. **字符串处理**:Java 提供了丰富的 String 类,涉及拼接、查找子串、替换、分割等操作。对于字符串问题,了解正则表达式也是必要的。 8. **堆与优先队列**:Java 的 PriorityQueue 类可以用来解决最大值或...

    Leetcode解决方案

    - 字符串操作,如拼接、查找、替换等,Java 提供了 String 和 StringBuilder 类进行处理。 - 正则表达式(Regular Expression)用于模式匹配和文本搜索。 5. **堆(Heap)**: - 最大堆和最小堆,用于实现优先...

    leetcode分类-LeetCode:力码

    3. **字符串处理**:涉及到字符串的比较、查找、替换、反转、模式匹配等问题,经常需要结合正则表达式来解决。 4. **递归与循环**:递归是解决复杂问题的有效工具,但需要注意避免无限递归和性能问题。循环则是一种...

Global site tag (gtag.js) - Google Analytics