2017-08-29 15 views
0

我想用正則表達式替換替換一個語句中的某些字符串。mvc正則表達式替換一個句子的模式陣列

對於它,我創建模式陣列:

和更換,我這樣做是:

foreach (string item in words){ 
    output = Regex.Replace(output,@"\b" + item + "\b", " "); 
} 

但這種方式不工作...

有人做過一個主意?

說明

我用上面的方法在VB.net和將沒有問題做出響應。

我在C#初學者

+1

請顯示值輸出'並解釋什麼不起作用 –

+1

使用'output = Regex.Replace(output,@ $「(?<!\ w){Regex.Escape(item)}(?!\ w)」,「」 );'一旦你碰巧在'item'中有特殊的字符。 –

回答

0

看起來你忘了@字面在第二\b

無論是把它放在那裏

output = Regex.Replace(output, @"\b" + item + @"\b", " "); 

或雙倍的反斜線所以用作轉義字符:

output = Regex.Replace(output, @"\b" + item + "\\b", " "); 
+0

非常感謝。我的問題已被解決 – user3150241

+0

@ user3150241歡迎您。但Wiktor發現了一個完美的重複,它有一個更深刻的答案 –