この質問は何度も聞かれていると思いますが、C# フレーバーのものは見つかりませんでした (または、python/perl などから C# に変換する方法がわかりません...)。一致した文字列を文字列から削除する関数を作成しています。
単語全体と部分的な単語に一致させたい...これまでのところ、単語全体に一致するものは次のとおりです。
public string regExRemove(string text, List <String> words)
    {
        string pattern =
            @"(?<=\b)(" +
            String.Join(
                "|",
                words
                    .Select(w => Regex.Escape(w))
                    .ToArray()) +
             @")(?=\b)";
        var regex = new Regex(pattern);
        string strReturn = regex.Replace(text, "");
        return strReturn;
    }
別のスタックオーバーフローの質問からこれを取得しました。私が言ったように、これは単語全体に一致しています。文字列「テキスト」内の任意の場所にある「単語」リストと一致させてから、それを削除します。
たとえば、I have [apples] I have -apples I have apples と Peaches I Peaches have Apples I.Peaches have[Apples] のような文字列から、単語リストに含まれる Apples, Peaches という単語を削除したいとします。
単語リスト内では、「[」などを削除するために特殊文字も渡しますが、「.」も置き換えたいと考えています。スペースなどで...
したがって、リストは I have I have I have と I have I have になります
上記の正規表現を変更してこれを行うにはどうすればよいですか?
ありがとう