In einigen Zeichenfolgen speichern wir Namen bestimmter Typen, oft getrennt durch Kommas „,“ oder andere Symbole. Wenn wir einen bestimmten Parameter löschen, ist dies oft nicht so praktisch wie ein Array oder eine Liste. Wenn wir jedoch die folgende Methode haben, können wir es auch gut machen.
public class Test3 { /** * @param args */ public static void main(String[] args) { //要切割的字符串 String s = "123.jpg,113.jpg,121.jpg,122.jpg,131.jpg"; String sub = ""; System.out.println("编译前:"+s); //调用方法 sub = s.replaceAll( ",113.jpg|113.jpg,","");//.replaceAll( ",122.jpg|122.jpg,",""); System.out.println("编译后:"+sub); } }
Ergebnisse drucken:
编译前:123.jpg,113.jpg,121.jpg,122.jpg,131.jpg 编译后:123.jpg,121.jpg,122.jpg,131.jpg
Sehen wir uns die Beschreibung der Methode „replaceAll“ in JDK1.6 an:
Replacementall
Public String Replacementall (String RegX,
String Replacement) verwendet eine bestimmte Ersetzung, um alle zugewiesenen Teilzeichenfolgen aller Übereinstimmungen zu ersetzen.
Der Aufruf dieser Methode in der Form str.replaceAll(regex, repl) erzeugt genau das gleiche Ergebnis wie der folgende Ausdruck:
Beachten Sie, dass die Verwendung von Backslashes () und Dollarzeichen ($) in einer Ersetzungszeichenfolge zu anderen Ergebnissen führen kann als die Behandlung als wörtliche Ersetzungszeichenfolge, siehe Matcher.replaceAll. Bei Bedarf können Sie Matcher.quoteReplacement(java.lang.String) verwenden, um die besondere Bedeutung dieser Zeichen zu unterdrücken.
Parameter:
regex – der reguläre Ausdruck, der zum Abgleichen dieser Zeichenfolge verwendet wird
replacement – die Zeichenfolge, die zum Ersetzen jeder Übereinstimmung verwendet wird
Rückgabewerte:
Die resultierende Zeichenfolge
löst aus:
PatternSyntaxException - Wenn die Syntax des regulären Ausdrucks ungültig ist