如何用C#正则替换行中无前后字符的特定字符串?
C#正则替换独立行的特定字符
要实现只替换整行仅包含目标字符的内容,核心是利用正则的行锚点^(行起始)和$(行结束),配合多行模式来匹配独立行的目标字符串。
解决方案步骤
- 使用正则表达式
^;$精确匹配整行只有;的行 - 启用
RegexOptions.Multiline模式,让^和$作用于每一行的首尾,而非整个字符串的首尾 - 调用
Regex.Replace完成替换
C#代码示例
using System.Text.RegularExpressions; string input = @"migration := '0'; ;"; // 替换整行仅为';'的内容为'/' string result = Regex.Replace(input, @"^;$", "/", RegexOptions.Multiline); Console.WriteLine(result);
代码说明
RegexOptions.Multiline:开启多行模式,确保^匹配每行开头、$匹配每行结尾^;$:严格匹配整行只有;的情况,排除前后有其他字符的行(比如第一行末尾的;)- 执行后输出结果:
migration := '0';
/
内容的提问来源于stack exchange,提问作者Franklin
相关产品推荐
相关产品推荐

