を置き換える、正規表現パターンの私は「いいえ」で、「#」を交換する必要があるの文章、「名前#2」、</p> <p>を持って
最後の文は、「名前号である必要があります2 "となる。
コード -
string sentence = Regex.Replace("Name # 2", "\\#\\b", "No.");
はどうやらRegex.Replaceが「いいえ」と「#」を置き換えるために失敗し、問題にアプローチする正しい方法は、正規表現を経由して、そこにあります。 感謝 のようになります実行し、一般的なコードがありますので、私は正規表現パターンを探しています理由は、コンテキスト
string pattern = string.Format(@"\b{0}\b", context);
sentence = System.Text.RegularExpressions.Regex.Replace(sentence, pattern, suggestion);
以下 - 「#」を
文 - 「名前#2」
提案 - 「いいえ」 "名前2号"
実際の文章 - - "名前#2"
コンテキスト -
の提案を "彼が行っていた" -
文 "だった" の文章期待
- "は"
期待される文 - "彼は行っていた"
実際の文章は - 「彼は行く時点でいた。」 - 「」
文を -
コンテキストを「彼が行っていました」
の提案 - "Z"
期待文 - あなたが試すことができ
OMG!なぜ正規表現ですか? –
@ThomasWeller私は自分の質問を編集しました。 – Sandepku
'\ b'は単語境界(英数字とその他の間)に一致します。あなたの入力に '# 'の隣にそのような境界はありません。 –