我怀疑在一个陈述中删除特定的词。如果陈述是这样的
"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|", "");
两者都没有用。
答案 0 :(得分:3)
字符串是不可变的,Replace
方法创建一个新字符串而不是修改原始字符串。您需要将结果分配回字符串:
str = str.Replace("research:1|", "");
答案 1 :(得分:0)
您可以使用IndexOf
或LastIndexOf
以及Substring
或Remove
:
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);