如何使用c#删除语句中的特定单词

时间:2014-05-27 13:29:13

标签: c#

我怀疑在一个陈述中删除特定的词。如果陈述是这样的

"Furore over care. data programme could jeopardise future medical research,  doctors and charities warnresearch:1|"

如何从该行删除research:1|部分?

我尝试使用

foreach( string str in datalist)
   str.split("research:1|")

以及str.Replace("research:1|", ""); 两者都没有用。

4 个答案:

答案 0 :(得分:3)

字符串是不可变的,Replace方法创建一个新字符串而不是修改原始字符串。您需要将结果分配回字符串:

str = str.Replace("research:1|", "");

答案 1 :(得分:0)

您可以使用IndexOfLastIndexOf以及SubstringRemove

string text = "Furore over care. data programme could jeopardise future medical research,  doctors and charities warnresearch:1|";
int lastIndex = text.LastIndexOf("research:1|");
if (lastIndex >= 0)
    text = text.Remove(lastIndex, "research:1|".Length);

如果不在最后,请使用text = text.Remove(lastIndex, "research:1|".Length);

如果您想要替换所有出现的内容,可以使用String.Replace,因为您已尝试过。但是你必须重新分配结果,因为strings是不可变的(不能改变)。

答案 2 :(得分:0)

确保将结果分配给原始字符串:

foreach( string str in datalist)
{
   str = str.Replace("research:1|", "");
}

答案 3 :(得分:0)

你可以使用str.Remove();为了删除你不想要的部分字符串。

string str = "Furore over care. data programme could jeopardise future medical research,  doctors and charities warnresearch:1|";
string remove = "research:1|";

str = str.Remove(str.IndexOf(remove), remove.Length);