如何从C#中的字符串中间删除某些字符或单词



我使用的是.net 2.1,我需要删除字符串的一些额外部分,但是问题是这些部分在开始时也不发生,也不会发生。他们介于两者之间。例如,我们有: -

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

,但我想要

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

我知道问题的发生。有什么方法可以从字符串中删除单词"非常"。

您可以使用source.Replace("very",string.Empty);

String.Replace(oldString,newString)带有第二个参数设置为字符串。

您可以尝试正则表达式

删除"very"的结果重复:

  using System.Text.RegularExpressions;
  ... 
  string source = "Ali and Ahmed are very very good friends.";
  string result = Regex.Replace(source, @"(very)(s+1)+", match => match.Groups[1].Value);

删除任何单词的结果重复:

  string source = "Ali and Ahmed are are are very very good friends.";
  string result = Regex.Replace(source, @"(w+)(s+1)+", match => match.Groups[1].Value);

在这两种情况下,result都是

  Ali and Ahmed are very good friends.

如果您知道要删除的零件的起始索引和末端索引,则可以使用此methode

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"

在线尝试!

最新更新