C#文件读写,根据key值改变其value的值

fuyanling1993 2016-01-20 09:37:35



根据js文件var后的key值写文件时改变对应等于号的value值,我自己写的代码替换不了,哪位会,谢谢啦!
...全文
588 5 打赏 收藏 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
fuyanling1993 2016-01-20
  • 打赏
  • 举报
回复
谢啦,解决了
xdashewan 2016-01-20
  • 打赏
  • 举报
回复
EndsWith是比较已什么结尾,你每一行不可能以变量名结尾肯定不对。改成contains(“var PRESET_ID=”),这种用来比较的东西格式很重要,你js里第二行那个等号前后明显有空格和你下面的格式不一样,这种一定要注意
fuyanling1993 2016-01-20
  • 打赏
  • 举报
回复
我的键值就是js文件里的SUB_PROCESS_PORT_NUMBER,SERVER_HOME_PATH等,等于号后面的值是从前台textbook框中读取的,然后写入到js文件里,我之前是根据数组下标写的,写死了,现在想写成动态的
  • 打赏
  • 举报
回复
首先,你的键值格式得统一,不要有的等号两边有空格,有的没空格,虽然有也可以处理,但麻烦些 然后你的键值是什么?怎么存的,如果都是你这种格式的话,那么没特殊字符,可以直接用下面的代码
Dictionary<string, string> dic = new Dictionary<string, string>()
{
    {"aa_aa","testaa"},
    {"bb_bb","bbtest"}
};
string jsText =
@"var aa_aa=""i am aa"";
var bb_bb=""bb is here""";
var newText = jsText;
foreach (var kv in dic)
{
    newText = Regex.Replace(newText, string.Format(@"(?<={0}="")[^""]*", kv.Key), kv.Value);
}
Console.WriteLine(newText);
fuyanling1993 2016-01-20
  • 打赏
  • 举报
回复
不能改变js文件的格式,里面还有很多方法

111,128

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧