如何在c#中删除字符串中间的一些字符或单词?

如何在c#中删除字符串中间的一些字符或单词?,c#,.net,string,C#,.net,String,我使用的是.NET2.1,我需要删除字符串的一些额外部分,但问题是这些部分在开始和结束时都不会出现。它们介于两者之间。例如,我们有:- 阿里和艾哈迈德是非常非常好的朋友 但是我想要 阿里和艾哈迈德是非常好的朋友 我知道问题的发生。有没有办法从字符串中删除单词“very” 您可以使用source.Replace(“very”,string.Empty) String.Replace(oldString,newString)第二个参数设置为String.Empty与从源字符串中删除所有“oldStr

我使用的是.NET2.1,我需要删除字符串的一些额外部分,但问题是这些部分在开始和结束时都不会出现。它们介于两者之间。例如,我们有:-

阿里和艾哈迈德是非常非常好的朋友

但是我想要

阿里和艾哈迈德是非常好的朋友


我知道问题的发生。有没有办法从字符串中删除单词“very”

您可以使用
source.Replace(“very”,string.Empty)

String.Replace(oldString,newString)
第二个参数设置为String.Empty与从源字符串中删除所有“oldString”相同。

您可以尝试正则表达式:

要删除
“very”
的后续重复项,请执行以下操作:

要删除任何单词的后续副本,请执行以下操作:

在这两种情况下,
结果都是

  Ali and Ahmed are very good friends.

如果知道要删除的零件的起始索引和结束索引,可以使用此方法

public static string Delete(string str, int start, int end) 
{
    return str.Substring(0, start)
         + str.Substring(end, str.Length-end);
}
下面是要删除的部件的独占索引 e、 g


这将在单词
非常好
之间留下两个空格。他们可以替换
“very”
“very”
来避免这种情况。你是对的@pappbence96它不会删除空格,因为用例确实可以删除重复的单词,这是一个很好的答案+1@Dmitry我没有考虑重复的单词。我只是问如何从字符串中删除我想要的任何单词。
  Ali and Ahmed are very good friends.
public static string Delete(string str, int start, int end) 
{
    return str.Substring(0, start)
         + str.Substring(end, str.Length-end);
}
Delete("0123456789",3,5) -> "01256789"