2017-03-21 4 views
0

Welcher Weg ist effizienter, Zeichen/Teilzeichenfolge in einer Zeichenfolge zu ersetzen. Ich habe gesucht und ich zwei Möglichkeiten gefunden haben:String Ersatz Effizienz Java

output = output.replaceAll(REGEX, REPLACEMENT); 

oder

Pattern p = Pattern.compile(REGEX); 
Matcher m = p.matcher(output); 
output = m.replaceAll(REPLACEMENT); 

Ich meine mit Effizienz: weniger Zeit, Schleifen und/oder neue Variablen.

+0

Siehe [java.util.regex - Wichtigkeit von Pattern.compile()?] (Http://stackoverflow.com/questions/1720191/java-util-regex-importance-of-pattern-compile) –

Antwort

4

Wenn man sich die String-Methode suchen replaceAll es tut dasselbe unter der Haube:

public String replaceAll(String regex, String replacement) { 
    return Pattern.compile(regex).matcher(this).replaceAll(replacement); 
} 

Wenn Sie das gleiche Muster mehrmals verwenden möchten. Es ist besser, mit der zweiten Option zu gehen, da Sie sie nicht jedes Mal neu kompilieren müssen.