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

本文关键字:字符串 替换 另一个 | 更新日期: 2023-09-27 18:21:48

给定两个字符串s1s2,我想替换任何出现的字符串具有s1s4s2 的形式s1s3s2

对我来说,用例是替换形式"'textbf'{atext'}"的子字符串带"'**atext**"

我如何在C#中实现这一点?

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

基本上:取模式(包含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)