c# 正则替换与代码动态替换

void Main()
{
    var input = "I have $3,400 in the bank, so I am rich,";

    var result = Regex.Replace(input, @"\,",
        match =>
        {
            // 行首不替换
            if(match.Index == 0)
                return match.Value;
                
            // 行尾不替换
            if(match.Index == input.Length -1)
                return match.Value;
            
            // 前后都是数字,它是千分符,不替换
            if (Regex.IsMatch(input[match.Index -1].ToString(), @"\d")
                && Regex.IsMatch(input[match.Index + 1].ToString(), @"\d"))
                return match.Value;

            // 其它情况都在匹配到的内容后面加换行
            return match.Value + Environment.NewLine;
        });

    Console.WriteLine(result);
}

 

posted on 2026-07-16 18:02  空明流光  阅读(12)  评论(0)    收藏  举报

导航