public static String replace (String target, String from, String to) {
// target is the original string
// from is the string to be replaced
// to is the string which will used to replace
// returns a new String!
int start = target.indexOf(from);
if (start == -1) return target;
int lf = from.length();
char [] targetChars = target.toCharArray();
StringBuffer buffer = new StringBuffer();
int copyFrom = 0;
while (start != -1) {
buffer.append (targetChars, copyFrom, start-copyFrom);
buffer.append (to);
copyFrom = start + lf;
start = target.indexOf (from, copyFrom);
}
buffer.append (targetChars, copyFrom, targetChars.length - copyFrom);
return buffer.toString();
}
[JDK1.4]
public class Test{
public static void main(String[] args){
String text = "hello world from www.rgagnon.com : hello world";
System.out.println
(text.replaceAll("(?:hello world)+", "bonjour le monde"));
System.out.println
(text.replaceFirst("(?:hello world)+", "bonjour le monde"));
/*
output :
bonjour le monde from www.rgagnon.com : bonjour le monde
bonjour le monde from www.rgagnon.com : hello world
*/
}
}
Written and compiled by Réal Gagnon ©1998-2005
[ home ]