benou | en jdk1.4 tu peux le faire facilement evec des expressions régilières.
en jdk < 1.4, tu peux faire comme ca :
Code :
- public static String replace(String s, String replaced, String replacing) {
- StringBuffer tmp = new StringBuffer(s);
- int i = 0, debut, fin;
- char c = replaced.charAt(0);
- while (i < tmp.length()) {
- while ((i < tmp.length()) && (tmp.charAt(i) != c))
- i++;
- debut = i;
- i++;
- fin = 1;
- while ((i < tmp.length()) && (fin < replaced.length()) && (tmp.charAt(i) == replaced.charAt(fin))) {
- fin++;
- i++;
- }
- if ((i <= tmp.length()) && (fin == replaced.length())) {
- tmp.replace(debut, debut+fin, replacing);
- i = debut + replacing.length();
- }
- }
- return new String(tmp);
- }
|
(code non optimal) Message édité par benou le 06-06-2002 à 16:16:02
|