自定义实现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);									
	}

replace和replaceAll 用法详解

原文:replace和replaceAll 用法详解 JAVA语言的开发者有时用到 replace和replaceAll ,下面是replace和replaceAll 用法详解: 1)repl...
  • jinlaigu
  • jinlaigu
  • 2014年09月28日 15:49
  • 2113

JAVA replaceAll 正则表达式(持续更新)

JAVA replaceAll 正则表达式(持续更新)Java String类自带了replaceAll 函数,支持正则表达式。 replaceAll 匹配数字:[0-9] String tmp ...
  • s445320
  • s445320
  • 2016年02月24日 11:56
  • 3650

String.replaceAll, replace使用误区

     今天在开发中遇到了一个需要将文本中的img标签过滤掉,首先考虑到的是使用正则表达式, 想使用String.replaceAll(String regex, String replacemen...
  • xrksudy
  • xrksudy
  • 2009年09月29日 16:29
  • 2899

js实现C#的replaceAll()的方法

第一次发现JavaScript中replace() 方法如果直接用str.replace("-","!") 只会替换第一个匹配的字符.  而str.replace(/\-/g,"!")则可以全部替换...
  • guoyang9108
  • guoyang9108
  • 2012年07月17日 16:29
  • 1790

Java String replace() 和 replaceAll()的用法

因为之前都是用用简单的replace(),今天碰到了replaceAll(),所以记下来。replace(String str1,String str2) 的用法很简单: str2代替str1即可pu...
  • twx843571091
  • twx843571091
  • 2016年09月09日 17:40
  • 499

js中 replace replaceAll 全部替换

js中的replace方法只能替换第一个模板, 在java语言中有给出的replaceAll方法能够实现这样的功能,但很遗憾javascript没有提供这样的方法。 但replace方法要比我们想象的...
  • qq_27093465
  • qq_27093465
  • 2016年12月02日 18:13
  • 1525

replace与replaceAll()的区别

replace与replaceAll()的区别     之前在做项目时,需要将 double 类型但小数点后并没数值,只是为零,如 10.0之类的数值,其实并不是什么问题,但看起来不好看,因为不是数值...
  • Ws11352369
  • Ws11352369
  • 2016年05月11日 21:45
  • 276

转义的理解,replace和replaceAll的区别

关于转义: \  ==> \\ \\==>\\\\ "==>\" \"==>\\\"(拆分为\\+\") replace和replaceAll区别,如何决定使用哪个函数个 如下x的字符串  St...
  • fangqun663775
  • fangqun663775
  • 2017年01月18日 17:52
  • 649

java中String.replaceAll()的使用

本文转载自:http://www.blogjava.net/hill/archive/2009/04/29/268065.html public class TryDotRegEx {   pu...
  • chivalrousli
  • chivalrousli
  • 2016年05月20日 16:56
  • 4267

JAVA中REPLACE和REPLACEALL的区别 以及一些特殊字符替换

replace和replaceAll是JAVA中常用的替换字符的方法,它们的区别是:  1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(C...
  • hbhgjiangkun
  • hbhgjiangkun
  • 2013年06月03日 18:15
  • 12383
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:自定义实现replaceAll功能,不使用replace
举报原因:
原因补充:

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