使用正则表达式替换String

时间:2014-04-02 08:24:42

标签: c# regex

我试图将C#中的字符串替换为Regex类,但我不知道正确使用该类。 我想替换String" a"

中的下一个外观链
":(one space)(one or more characters)(one space)" 

通过下一个正则表达式

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

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

2 个答案:

答案 0 :(得分:1)

你可以使用 string.Replace(string,string)

尝试这个。

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;
    }

答案 1 :(得分:0)

使用String.Replace

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

使用Regex.Replace

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