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); }
桂棹兮兰桨,击空明兮溯流光。
浙公网安备 33010602011771号