Hallo Ich versuche, ein replaceAll in Java zu verwenden, einige HTML-Inhalt von Bild zu löschen:Ersetzen Regex Variable
Das ist mein Eingang
String html = ' asd<i> qwe qwe<u>qweqwe</u></i><u>wqeqwesd.<img alt="vechile" src="urldirectionstring" style="float:left; height:190px; width:400px" /></u>';
Also, was ich versuche zu tun ist ersetzen sie alle Inhalte von <img ...>
und zurück nur in ersetzen diese:
"Image Url: urldirectionstring";
So ersetzen sie einfach den Tag img, alles andere, lassen sie es, dieses Tag nur berühren, und jetzt habe ich das, aber es ist nicht enougth;
String replaceImg = html.replaceAll("<img[^>]*/>","Image Url: "+$srcImgdirection);
So, wie Sie sehen können, ich habe keine Ahnung, wie in der ersetzt den urldirectionstring als Variable zu erhalten.
----------- Das letzte Mal bearbeitet -----------
fand ich diese Regex die urlstringdirection zu bekommen, aber jetzt weiß ich nicht, wie zu ersetzen es nur und fügen Sie den Text:
String replaceImg = html.replaceAll("<img.*src="(.*)"[^>]*/?>","Image Url: "+$srcImgdirection);
sind Sie sich bewusst, dass es Bibliotheken für richtig HTML Parsing und regex sind nicht sehr geeignet für die Aufgabe? –
Ich stimme Patrick zu, aber für die zukünftige Anwendung von 'replaceAll()': Sie können auf die einfangenden Gruppen im Ersetzungsstring zugreifen über '$ group_number', .eg' replaceAll ("src = \" ([^ \ "] *) \ "", "src = \" Präfix $ 1suffix \ "") um den Attribut-Inhalt mit "" Präfix "und" "Suffix". – Thomas
Allerdings wies bereits Patrick darauf hin, dass reguläre Ausdrücke nicht gut für unregelmäßige passen Sprachen wie hmtl (zB was passiert mit verschachtelten Tags?), es sei denn, Sie wissen _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _^Um das zu beheben, könnte man den Quantifizierer nur widerwillig machen (dh '. *?'), um so wenig wie möglich zu entsprechen, aber die nächste Frage wäre: Was wäre, wenn es Bild-Tags ohne 'src'-Attribut gibt oder wo der Wert von umgeben ist einfache Anführungszeichen anstelle von Anführungszeichen? usw. usw. usw. – Thomas