用C#中的另一个替换给定表单的子字符串

时间:2014-09-13 14:38:18

标签: c# regex string substring

给定两个字符串s1s2我想替换任何事件 s1s3s2形式的s1s4s2

我的用例是替换"\textbf\{atext\}"形式的子字符串 与"\**atext**"

如何在C#中实现这一目标?

1 个答案:

答案 0 :(得分:1)

基本上:采取模式(包含3组),用模式中的第二组替换instr。

    private string MyReplace(string inStr, string leaveStr)
    {
        string pattern = @"(.*?)(" + leaveStr + ")(.*)";
        string repl = @"*$2*";

        Regex rgx = new Regex(pattern);
        return rgx.Replace(inStr, repl);

    }

    string x = MyReplace(@"\textbf\{atext\}", "atext");
    x = MyReplace(@"\textbf\{1\}", "1");

完整字符串 - 组零($ 0)

(。*?) - 第一组($ 1)

(atext) - 第二组($ 2)

(。*) - 第三组($ 3)