私はC#と正規表現の経験がほとんどありませんが、このロジックを試す必要があります。
string replacedText = Regex.Replace(
"ssdf bonnets sdf sdf sdf ",
@"(?i)^(.+ )?(bonnet)(s?)( .+)?$",
"$1hood$3$4"
);
上記のコードは、stackoverflowの質問に対する答えでした。
残りの部分をそのままにして、弦の一部を交換しますか? 単語(ボンネット)だけを検出する代わりに、複数の値を置き換えたいと思います。たとえば、「f」、「b」、「s」が見つかった場合、「a」に置き換えられますか?
たとえば、入力が「ahfbsdrts stb」の場合、出力は「ahaaadrtaata」になります。