2013-01-07 71 views
0

考慮一個案例,我希望在文章中每一處出現短語「hello world」以替換爲「我愛蘋果」。我應該如何編寫代碼來進行替換?C#多個詞替換問題

我知道我可以簡單地使用Replace函數來進行替換,但它不是最理想的方式(如果我指定替換單詞「或」,它也會替換單詞「爲「等)。有沒有其他辦法可以做到我想要的?使用正則表達式也喜歡在這裏

+0

「我應該如何編寫代碼來進行更換?」。你有什麼嘗試?這是你實際面臨的問題嗎(注意常見問題解答說:「你應該只根據你面臨的實際問題提出實際的,可回答的問題。」)。 – Oded

+0

你到目前爲止嘗試過什麼?你有沒有讀過關於字符串搜索和C#中的替換?我的意思是,這是一個相當好的話題。毫無疑問,谷歌會返回不下一百頁的內容。 – Pete

+0

可能的重複[如何替換C#中的特定單詞?](http://stackoverflow.com/questions/884759/how-can-i-replace-a-specific-word-in-c) –

回答

1

您可以嘗試使用Regular Expressions與回顧後:

String urstring = Regex.Replace(urstring,"(?<=\W)or|^or","SS") 

這將替換不是由字母或數字之前全部「或」發生。

1

我認爲你可以使用正規表示法

using System; 
using System.Text.RegularExpressions; 
public class Test 
{ 
    public static void Main() 
    { 
     string input = "doin some replacement"; 
     string pattern = @"\bhello world'\b"; 
     string replace = "I love apple"; 
     string result = Regex.Replace(input, pattern, replace);   
    } 
} 

下面的鏈接可能是有幫助

Way to have String.Replace only hit "whole words"