Ausgehend von Ihrem Beispiel, wo die Ersetzung stattfinden soll, möchten Sie die Zeichenfolgen zwischen zwei XML-Tags ersetzen. Es scheint einfacher zu sein, dies als Ersetzen der Zeichenfolgen zu betrachten, die zwischen> und < statt zwischen < und> auftreten. Diese
String input = "<field1_str1>randomvalue_str1</field1_str1><field2_str1 > randomvalue_str1_random_value </field2_str1 >";
String str1 = "str1";
String str2 = "str2";
String replace = input.replaceAll(">([^<]*?)" + str1, ">$1" + str2);
ersetzen Looks für a> um das Spiel zu beginnen, da wir wollen die Dinge nicht passen innerhalb der Tags. Es wird dann mit allem übereinstimmen, was kein < ist, da dies unsere Übereinstimmung beenden und ein XML-Tag starten würde, und es wird so lange übereinstimmen, bis es str1 findet. Bei einer erfolgreichen Übereinstimmung fügt es den ersten Teil, auf den wir abgestimmt haben, zurück und ersetzt str1 durch str2. Dieser Code gibt das aus, was Sie in der Ausgabezeichenfolge suchen.
Ist diese Hausaufgabe oder können Sie einen XML-Parser verwenden? Außerdem habe ich die Frage ein paar Mal gelesen, aber ich verstehe nicht wirklich, was Sie tun möchten. –
U kann XML-Parser nicht verwenden, weil der Tag-Name unbekannt ist. –
Sie können mir mit Muster Klasse wenn möglich helfen .. danke –