用正则表达式替换字符串

本文关键字:字符串 替换 正则表达式 | 更新日期: 2023-09-27 17:56:01

我正在尝试用正则表达式类替换 C# 中的字符串,但我不知道如何正确使用该类。我想替换字符串"a"中的下一个外观链

":(one space)(one or more characters)(one space)" 

通过下一个正则表达式

":(two spaces)(one or more characters)(three spaces)"

有人会帮助我并给我代码并解释我使用的常规表达式吗?

用正则表达式替换字符串

你可以使用字符串。替换(字符串,字符串)

试试这个。

http://msdn.microsoft.com/en-us/library/fk49wtc1.aspx

试试这个

    private String StrReplace(String Str)
    {
        String Output = string.Empty;
        String re1 = "(:)( )((?:[a-z][a-z]+))( )";
        Regex r = new Regex(re1, RegexOptions.IgnoreCase | RegexOptions.Singleline);
        Match m = r.Match(Str);
        if (m.Success)
        {
            String c1 = m.Groups[1].ToString();
            String ws1 = m.Groups[2].ToString() + " ";
            String word1 = m.Groups[3].ToString();
            String ws2 = m.Groups[4].ToString() + "  ";
            Output = c1.ToString() + ws1.ToString() + word1.ToString() + ws2.ToString() + "'n";
            Output = Regex.Replace(Str, re1, Output);
        }
        return Output;
    }

使用 String.Replace

   var str = "Test string with : .*.  to replace";
   var newstr = str.Replace(": .*. ", ":  .*.   ");

使用 Regex.Replace

var newstr = Regex.Replace(str,": .*. ", ":  .*.   ");