自定义实现replaceAll功能,不使用replace

原创 2013年12月04日 15:39:34
	@Test
	public void go(){
		String str = "abmecdme";
		
		String oldRP = "c" , newRP ="abc";
				
		int forward = 0;  // 源串中,forward 查找下一个oldRP位置
		int follow = 0;   // 源串中,follow  记录forward的上一个位置[follow ,forward]为不需要被替换的部分
		StringBuilder sb = new StringBuilder();
		
		while(forward!=-1 && forward<=str.length()){		
			
			if((forward = str.indexOf(oldRP, forward))!=-1){	 // 【源字符串】,某位置还能找到 【替换串】
				sb.append(str.substring(follow,forward)); //[follow,forward]为不需要被替换的部分
				sb.append(newRP);           //需要被替换的部分
				forward += oldRP.length();  //跳到新大陆开始寻找
				follow = forward;			//重合 follow 与 forward	
			}else { // 不用替换了,追加剩余
				sb.append(str.substring(follow));
			}

		}
		
		System.out.println(sb);									
	}

java中replace 和replaceAll的区别与使用它所遇到的问题

public static void main(String[] args) {       String data = "2010.10.06";       String data1 = da...

C#中如何实现JAVA中的String.replaceAll()方法功能

jdk原文注释: string java.lang.string.replaceall(string regex, string replacement) replaceall public s...

replace和replaceAll是JAVA中常用的替换字符的方法

replace和replaceAll是JAVA中常用的替换字符的方法,它们的区别是:  1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(C...

JAVA中REPLACE和REPLACEALL的区别(转)

replace和replaceAll是JAVA中常用的替换字符的方法,它们的区别是:  1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(C...

java 字符串替换 replace与replaceAll

replace与replaceAll方法都是用来替换字符串的。 首先,我们先比较一下这两种函数的性能: 示例: public class StringReplaceEmp{ public ...

Java.lang.String.replace() 和 replaceAll() 的区别。

Java.lang.String.replace() 和 replaceAll() 的区别。
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:自定义实现replaceAll功能,不使用replace
举报原因:
原因补充:

(最多只允许输入30个字)