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但是 怎么替换呢
谢谢各位了不得 展开
<?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但是 怎么替换呢
谢谢各位了不得 展开
2个回答
展开全部
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);
也刚真正学习正则表达式不长时间,这个可以达到你的目的。
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);
也刚真正学习正则表达式不长时间,这个可以达到你的目的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
正则替换需要使用Regex.Replace函数,但是为什么要用正则呢,
// 如果配置文件为a.config,则需要有一个a文件存在
var config = ConfigurationManager.OpenExeConfiguration(@"配置文件路径");
config.AppSettings.Settings["Username"].Value = "DF";
config.Save();
// 如果配置文件为a.config,则需要有一个a文件存在
var config = ConfigurationManager.OpenExeConfiguration(@"配置文件路径");
config.AppSettings.Settings["Username"].Value = "DF";
config.Save();
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询