私の回答から<?xml version="1.0" encoding="UTF-8" standalone="no"?>
を削除しますか?私は何を変更する必要がありレスポンスから "<?xml ...>"タグを削除するには?
String newString = text.replaceAll("(?s)<xml>","");
しかし、それは、私のために動作しません:
私はこの正規表現を使用していますか?
私の回答から<?xml version="1.0" encoding="UTF-8" standalone="no"?>
を削除しますか?私は何を変更する必要がありレスポンスから "<?xml ...>"タグを削除するには?
String newString = text.replaceAll("(?s)<xml>","");
しかし、それは、私のために動作しません:
私はこの正規表現を使用していますか?
2つの方法があります。 XMLがきれいにフォーマットされていること(1行、1要素)があり、このタグが常に最初の行に表示されていることがわかっている場合は、単に行全体を削除してください。
これは適切な形式のXMLを必要とするので、あなたが提案するRegexベースのソリューションに行くべきです。
(<\?xml.*?\?>)
正規表現を使用してください。デモ:Regex101をご覧ください。 Javaでは、エスケープ文字を覚えておいてください。
String newString = text.replaceAll("(<\\?xml.*?\\?>)","");
最初のタグからは、<[^\?]+
の後に疑問符なしでXMLを取得できます。regexを参照してください。
整形式のXML文書に改行を含める必要はありません。例えば。 'の<?xml version = "1.0"?>一つ 二 は' [処理命令](HTTP含み、有効なXML文書である:// WWWを。 xmlplease.com/xml/pi/)。この正規表現は大きな時間を浪費します;)[最新のregex101の例を参照](https://regex101.com/r/CbEt55/5) –
ClasG
@ClasG:非常に良いヒント、コメントいただきありがとうございます。私は私の答えを編集しました。 –