C# 正则表达式 替换 文本文件内容

现有文本文件A.Conf如下<?xmlversion="1.0"encoding="utf-8"?><configuration><appSettings><addkey... 现有文本文件 A.Conf 如下
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings >
<add key ="DEBUG" value ="false"/>
<add key ="Username" value ="OS"/>
</appSettings>
</configuration>

想通过正则表达式替换OS为DF

pattern = @"^.*?Username.*?value =""(.*?)"".*?$";
String outStr = String.Empty;
String str = String.Empty;

while ((str = sr.ReadLine()) != null)
{
Console.WriteLine("{0}", str);
if (str != null)
{
MatchCollection mc = Regex.Matches(str, pattern);
foreach (Match match in mc)
{
outStr = "Username:" + match.Groups[1].Value;
}
}
}
Console.WriteLine(outStr);
sr.Close();
fs.Close();

现在已经成功读出OS但是 怎么替换呢

谢谢各位了不得
展开
 我来答
whm412
推荐于2016-12-03 · TA获得超过515个赞
知道小有建树答主
回答量:289
采纳率:66%
帮助的人:280万
展开全部
FileStream fs = new FileStream("C:\\aa.xml", FileMode.Open);
byte[] bytes = new byte[fs.Length];
fs.Read(bytes, 0, bytes.Length);
string fileString = System.Text.Encoding.UTF8.GetString(bytes);
string outString = Regex.Replace(fileString, "<add key =\"Username\" value =\"[a-zA-Z]*\"/>", "<add key =\"Username\" value =\"DF\"/>", RegexOptions.IgnoreCase);

也刚真正学习正则表达式不长时间,这个可以达到你的目的。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
哲事姓无
2012-11-28 · TA获得超过1176个赞
知道小有建树答主
回答量:903
采纳率:100%
帮助的人:440万
展开全部
  正则替换需要使用Regex.Replace函数,但是为什么要用正则呢,

  // 如果配置文件为a.config,则需要有一个a文件存在
  var config = ConfigurationManager.OpenExeConfiguration(@"配置文件路径");
  config.AppSettings.Settings["Username"].Value = "DF";
  config.Save();
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式