2011-09-26 83 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相同的文本,并且逻辑不应该将其删除,如果它不是应用程序预定义的那个。