2011-09-12 105 views
0

我有一個字符串替換問題。我有如下結果:字符串替換問題

"Animal.Active = 1 And Animal.Gender = 2" 

我想替換本文中的內容。

Animal.Active零件從數據庫中返回,有時它會返回Animal.Gender零件。

Animal.Gender部分來自數據庫中時,我必須刪除這個And Animal.Gender的一部分。

此外,如果字符串有Animal.Active = 1,我必須刪除Animal.Active = 1 And部分。請注意0​​。

我該怎麼做?

+2

你能提供一些代碼嗎?這樣我們可以更多的幫助我猜。 –

+0

您是否需要刪除整個「聲明」,即是否要刪除「And Animal.Gender」,或者是否要刪除「And Animal.Gender =#」。總之,你想刪除返回的值,或只是該值的標籤? – Kevek

+0

我想刪除和Animal.Gender =#部分 – John

回答

0

您將需要使用正則表達式(正則表達式)來代替這一點,那麼,因爲你想匹配一個數字。

string pattern = "And Animal\.Gender\s*=\s*[0-9]+"; 
    string replacement = ""; 
    Regex rgx = new Regex(pattern); 
    string result = rgx.Replace(input, replacement); 

將工作與=符號之間的零個或多個空格來代替"And Animal.Gender = #"

您可以使用Animal.Active爲第二個請求做類似的替換操作。

0

誠然這是無疑將成爲當您添加更多的條件更復雜了非常具體的解決方案,但在這裏有雲:

dbReturn = 
    dbReturn.Replace("And Animal.Gender","").Replace("Animal.Active = 1","");