[JAVA] Zeichenfolge Ersetzen von Fällen, in denen ein Zeilenumbruch in * des regulären Ausdrucks in der Suchbedingung einer Zeichenfolge enthalten ist

Wenn Sie Daten in XML haben, verwenden Sie häufig die Zeichenfolgenersetzung, wenn Sie die Daten löschen möchten, ohne sie von einem XML-Objekt wie DOM lesen zu lassen. Das ist die Geschichte zu dieser Zeit.

Ich habe das Tag, das ich löschen wollte, wie folgt ersetzt.

python


	String xmlStringData = getXMLfile();
	xmlStringData = xmlStringData.replaceAll("<ABB000001.*?</ABB00001>", "");

Manchmal ist es nicht verschwunden. Dies liegt daran, dass die Daten zwischen den Tags im Verlauf der Untersuchung eine Zeichenfolge waren und die Zeilenvorschubdaten manchmal im erwarteten Teil des "*" im regulären Ausdruck enthalten waren.

In diesem Fall wurde der Prozess im DOTALL-Modus von Pattern ausgeführt.

python


import java.util.regex.Pattern;

	String xmlStringData = getXMLfile();
	xmlStringData = Pattern.compile("<ABB000001.*?</ABB00001>", Pattern.DOTALL).matcher(xmlStringData).replaceAll("");

Ich konnte es erfolgreich ersetzen und das Tag löschen.

Recommended Posts

Zeichenfolge Ersetzen von Fällen, in denen ein Zeilenumbruch in * des regulären Ausdrucks in der Suchbedingung einer Zeichenfolge enthalten ist
[Java] Schneiden Sie einen Teil der Zeichenfolge mit Matcher und regulären Ausdrücken aus
[Java] Wenn Sie eine Zeichenfolge in die switch-Anweisung einfügen, müssen Sie sie zu einem konstanten Ausdruck machen
[Löschen Sie den ersten Buchstaben der Zeichenfolge] Ruby