22. juli 2004 - 14:59
Der er
5 kommentarer og 1 løsning
Erstat tekst i streng
Findes der en funktion til at erstatte en del af en tekststreng med noget andet tekst ?
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
Det gør der da: String tekst = "Dette er en test"; tekst = tekst.replaceAll("test", "prøve"); System.out.println (tekst);
Fra java 1.4 findes String.replaceAll (som mikkel skriver). Du skal bare være opmærksom på at søgningen sker med reqex udtryk!
Jeg kan ikke rigtig få den til at acceptere en methode "replaceAll". Jeg har kun replace, og det er en char ad gangen man erstatter.
Hvilken Java version bruger du? Som fsconsult.dk rigtigt skriver, er den først med fra Java 1.4
Faldt lige over den her metode: public static String replace(String str, String from, String to) { StringBuffer retStr = new StringBuffer(); int strLen = str.length(); int fromLen = from.length(); int pos0 = 0; int pos = str.indexOf(from); while ((pos >= 0) && (pos0 < strLen)) { if (pos > pos0) retStr.append(str.substring(pos0, pos)); retStr.append(to); pos0 = pos + fromLen; if (pos0 < strLen) pos = str.indexOf(from, pos0); } if (pos0 < strLen) retStr.append(str.substring(pos0)); return retStr.toString(); } Som skulle være kompatibel med alle java versioner. Kaldes som følgende: String tekst = "Dette er en test "; tekst = replace(tekst, "test", "prøve"); System.out.println (tekst);
Det er en version 1.3.x jeg bruger (og som jeg er tvunget til pga. applikationen jeg udvikler til). Jeg har selv lavet denne efterfølgende - og håber den virker: StringBuffer tmpurl; tmpurl = new StringBuffer(url); tmpurl = tmpurl.replace(url.indexOf("[USER]"), url.lastIndexOf("[USER]"), user); Hvis ikke bruger jeg din metode mikkelbm som du også får dine point for.
Kurser inden for grundlæggende programmering