You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C# 如何替换文件中sg.ShadowQuality=开头的行,无需匹配等号后任意内容

解决方案

核心用正则表达式实现前缀匹配替换,不需要提前知道配置项的旧值,只要匹配sg.ShadowQuality=开头的行即可完成整项值替换。

实现步骤

  1. 先引入正则命名空间
using System.Text.RegularExpressions;
  1. 优化后的业务代码
FileInfo GameUserSettings = new FileInfo(@SD + GUSDirectory);
GameUserSettings.IsReadOnly = false;
string text = File.ReadAllText(SD + GUSDirectory);
// 正则匹配:匹配所有以sg.ShadowQuality=开头的行,忽略等号后内容
string pattern = @"^sg\.ShadowQuality=.*$";
string replacement = $"sg.ShadowQuality={Shadows.Value}";
// 开启多行模式,让^符号匹配每一行的开头而非整个文本的开头
text = Regex.Replace(text, pattern, replacement, RegexOptions.Multiline);
File.WriteAllText(SD + GUSDirectory, text);
// 后续自行补充改回只读属性的逻辑

正则逻辑说明

  • ^:匹配行起始位置,配合RegexOptions.Multiline实现按行匹配
  • \.:转义匹配原文本的.字符,避免正则把.当成通配符
  • .*:匹配任意数量的任意字符,覆盖等号后所有可能的旧值
  • $:匹配行结束位置,确保只替换当前行的内容,不会影响其他行

内容的提问来源于stack exchange,提问作者LaggyAu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 16:39:03