XML構造からすべての属性を削除したいと思います。私の選択は正規表現ですが、もっと簡単な方法があれば、私は提案を広く受け入れています。
単一のタグを選択するために、私は以下を使用しました。
String clean = Regex.Replace(filled, ".*?<holder[^>]*?>(.*?)</holder>.*?", "$1");
これで、タグホルダーの内容がわかります。ここで、テキストの質量を維持したいのですが、内部タグのすべての属性を省略します。私は次のアプローチを試しました。
String plain1 = Regex.Replace(clean, "(<[^>]*?>)(.*?)(</[^>]*?>)", "$1$2$3");
String plain2 = Regex.Replace(clean, "(<[a-zA-Z]*?)([^>]*?)(>)", "$1$3");
しかし、それは私にまったく同じもの(plain1)と元の名前のない空のタグ(plain2)を返します。何もクリーンアップされていないか、すべてがクリーンアップされています。私は何を間違えますか?
プラスの開始を変更すると、名前の最初の文字のみを含むタグが表示されることに気付いたので、 1ドルでピックアップセクションを作成できる限り、次の方法が正しい方法であると確信しています。最大限に大きい。それ、どうやったら出来るの?
String plain3 = Regex.Replace(clean, "(<[a-zA-Z]+?)([^>]*?)(>)", "$1$3");