C# 如何从字符串中删除字符串

C# 如何从字符串中删除字符串,c#,C#,在将一个字符串(a)存储到DB中之前,我将它添加到另一个字符串(b),当我从DB中检索值时,我想从字符串(a)中删除该字符串(b)。字符串(b)是一个常量。我该怎么做 string a= "text1"; string b="text2"; string c = a+b; 我想在从db中检索b之后从c中删除b c = c.Replace(b, ""); 这是一种简单的方法。尝试String。替换-MSDN文档 不要执行任何操作,而是在数据库中创建一个包含额外文本的计算列 储存量少;减少代码。

在将一个字符串(a)存储到DB中之前,我将它添加到另一个字符串(b),当我从DB中检索值时,我想从字符串(a)中删除该字符串(b)。字符串(b)是一个常量。我该怎么做

string a= "text1";
string b="text2";
string c = a+b;
我想在从db中检索b之后从c中删除b

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

这是一种简单的方法。

尝试
String。替换
-MSDN文档

不要执行任何操作,而是在数据库中创建一个包含额外文本的计算列


储存量少;减少代码。

正如@SvenS在@Khaled Nassar答案中指出的那样,使用
字符串。在您的情况下,“按原样”替换将不起作用

一个可接受的解决方案可能是@Mitch的,但如果您没有修改数据库的权限,那么纯C#中可能还有另一个解决方案:


这可防止将同一字符串替换为b,并重复多次,因为谁知道某个用户是否保存了与b相同的文本,如果不是应用程序预定义的文本,逻辑就不应该删除它。

如果
a
在添加
b
之前可以包含
b
,或者如果他使用的是ORM,可能会出现某种“添加时”和“更新时”的问题现场拦截器。
int indexOfB = c.LastIndexOf(b);
string cWithoutB = c;

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