我想用正則表達式替換替換一個語句中的某些字符串。mvc正則表達式替換一個句子的模式陣列
對於它,我創建模式陣列:
和更換,我這樣做是:
foreach (string item in words){
output = Regex.Replace(output,@"\b" + item + "\b", " ");
}
但這種方式不工作...
有人做過一個主意?
說明
我用上面的方法在VB.net和將沒有問題做出響應。
我在C#初學者
我想用正則表達式替換替換一個語句中的某些字符串。mvc正則表達式替換一個句子的模式陣列
對於它,我創建模式陣列:
和更換,我這樣做是:
foreach (string item in words){
output = Regex.Replace(output,@"\b" + item + "\b", " ");
}
但這種方式不工作...
有人做過一個主意?
說明
我用上面的方法在VB.net和將沒有問題做出響應。
我在C#初學者
看起來你忘了@
字面在第二\b
:
無論是把它放在那裏
output = Regex.Replace(output, @"\b" + item + @"\b", " ");
或雙倍的反斜線所以用作轉義字符:
output = Regex.Replace(output, @"\b" + item + "\\b", " ");
非常感謝。我的問題已被解決 – user3150241
@ user3150241歡迎您。但Wiktor發現了一個完美的重複,它有一個更深刻的答案 –
請顯示值輸出'並解釋什麼不起作用 –
使用'output = Regex.Replace(output,@ $「(?<!\ w){Regex.Escape(item)}(?!\ w)」,「」 );'一旦你碰巧在'item'中有特殊的字符。 –