首页 新闻 会员 周边 捐助

C#替换 文本中的指定字符

0
[已解决问题] 解决于 2016-07-01 10:17

我要写个小工具要批量替换多个 文本文件中的  指定单词字符串,  我的方式是

string[] allTextLines = File.ReadAllLines(fileName,Encoding.Unicode); //读取当前文件的所有行

先把这个文件都逐行读取

然后每行都拆分成最小的单个字符串

 string[] subLines = allTextLines[i].Split(' ');      //将每一行拆分

然后遍历我这个数组的每一项找到我要替换含有关键字的那个词(“CNW”)

  for(int j=0;j<subLines.Length;j++)
                        {
                            if(subLines[j].Contains("CNW"))
                            {
                               subLines[j].Replace(subLines[j], tbSignalFile.Text);
                            }//if
                        }//for
                    }//for

最后再写入到原文件

  File.WriteAllLines(fileNames[k], subLines, Encoding.Unicode);

但是没有用 请问这个需求应该怎么做啊?

无线电静默的主页 无线电静默 | 初学一级 | 园豆:28
提问于:2016-06-30 23:48
< >
分享
最佳答案
1
for(int j=0;j<subLines.Length;j++)
                        {
                            if(subLines[j].Contains("CNW"))
                            {
                               subLines[j].Replace(subLines[j], tbSignalFile.Text); //看这句话,他是返回一个string,你没有接收啊  subLines[j] = subLines[j].Replace(subLines[j], tbSignalFile.Text); 
                            }//if
                        }//for
                    }//for

 

奖励园豆:5
刘宏玺 | 专家六级 |园豆:14020 | 2016-07-01 10:05
其他回答(2)
0

为什么要split  直接替换每行的不就好

liuxb1991 | 园豆:661 (小虾三级) | 2016-07-01 08:59

人家问的不是如何替换,是问的如何写入

支持(0) 反对(0) 代码小兵的成长 | 园豆:303 (菜鸟二级) | 2016-07-01 09:38

@代码小兵的成长: 自己看清楚了  他最后有write  

支持(0) 反对(0) liuxb1991 | 园豆:661 (小虾三级) | 2016-07-01 09:48

@Summer、: 好吧,原来有write就代表写进去了,反正我是读不懂作者的意思

支持(0) 反对(0) 代码小兵的成长 | 园豆:303 (菜鸟二级) | 2016-07-01 09:55
0

用正则啊。

长蘑菇星人 | 园豆:1832 (小虾三级) | 2016-07-01 09:03

人家问的不是如何替换,是问的如何写入

支持(0) 反对(0) 代码小兵的成长 | 园豆:303 (菜鸟二级) | 2016-07-01 09:38
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册