<select>タグと<option> htmlタグを削除する正規表現が必要

私はC#でhtmlファイルを解析し、htmlからテキストを抽出しています。私のhtmlファイルにはたくさんのタグがあります。 HTMLファイルには、選択タグとオプションタグがあります。 htmlファイルからselectタグとoptionタグを削除する正規表現が必要です。私はこの情報を望まない。だから私は任意の正規表現を使用してそれを削除したい。

以下は、htmlファイルから削除したいhtmlです:

 タグと
追加された 著者 Waseem Fastian,
私は自分自身でこれをやったが、これは私が@ "] *)?>(。| \ n)*?] *) > "私の力強いアッラーに感謝します。
追加された 著者 Waseem Fastian,
なぜそんなに複雑なの? myHTMLString.Replace( "
追加された 著者 Feroc,

1 答え

RegExを使用してHTMLタグを単純に削除する必要はありません。 次のメソッドは、HTMLコード文字列を繰り返し処理し、タグなしで新しい戻り文字列を作成します。
この方法はRegExよりも高速です。

public static string StripHTMLTags(string str)
    {
        char[] array = new char[str.Length];
        int arrayIndex = 0;
        bool inside = false;

        for (int i = 0; i < str.Length; i++)
        {
            char c = str[i];
            if (c == '<')
            {
                inside = true;
                continue;
            }
            if (c == '>')
            {
                inside = false;
                continue;
            }
            if (!inside)
            {
                array[arrayIndex] = c;
                arrayIndex++;
            }
        }
        return new string(array, 0, arrayIndex);
    }
0
追加された
HTMLコメントの中に> がある場合、これは失敗します。そして、問題はすべてのタグを削除することではなく、特定のタグのみを削除することです。
追加された 著者 svick,
私は@ "] *)?>(。| \ n)*?])を使っている正規表現です。 ^>] *)?> "私の力強いアッラーに感謝します。
追加された 著者 Waseem Fastian,