2011-09-26 93 views
0

我將字符串(a)添加到另一個字符串(b),然後將其存儲在數據庫中,當我從數據庫中檢索值時,我想從字符串(b)中刪除字符串字符串(a)。字符串(b)是一個常量。我該怎麼辦呢如何從字符串中刪除字符串

string a= "text1"; 
string b="text2"; 
string c = a+b; 

我想從C後,我retrive從DB

回答

4
c = c.Replace(b, ""); 

會是一個簡單的方法來做到這一點去除灣

+7

如果'a'在追加'b'之前可以包含'b',可能會導致問題。 – SvenS

2

嘗試String.Replace - MSDN文檔here

4

而不是做任何這些,在數據庫中創建一個具有額外文本的計算列。

儲存量少;少代碼。

+0

或者如果他使用的是ORM,可能是某種「添加」和「更新」字段攔截器。 –

1

由於@SvenS指出@Khaled Nassar答案,使用String.Replace在您的情況下不會「按原樣」工作。

一個可接受的解決方案可能@米奇的一個,但如果你沒有這樣的訪問和修改數據庫,也許有純C#另一種解決方案:

int indexOfB = c.LastIndexOf(b); 
string cWithoutB = c; 

if(indexOfB >= 0) 
{ 
    c.Substring(0, indexOfB); 
} 

這可以防止更換不止一次相同的字符串作爲b,因爲誰知道是否某個用戶保存了與b相同的文本,並且邏輯不應該將其刪除,如果它不是應用程序預定義的那個。