我想知道是否有办法避免foreach以下代码中的循环:
List<string> lines1 = new List<string>();
List<string> lines2 = new List<string>();
lines1.AddRange(File.ReadAllLines("in.txt"));
foreach(string s in lines1)
lines2.Add(Regex.Replace(s,"bim(.*)","bom$1");
Run Code Online (Sandbox Code Playgroud)
请注意,循环还需要在处理期间有两个列表.我的目标是将一个正则表达式应用于原位列表中的每个字符串.
你说你不想迭代.然后不要创建一个开头的集合,而是用一个字符串读取整个文件:
string input = File.ReadAllText("in.txt");
string output = Regex.Replace(input, "bim(.*)", "bom$1");
Run Code Online (Sandbox Code Playgroud)
然后,如果你想获得输入中的"行",请按照最简单的方法解释输出,以便在.NET中的换行符上拆分字符串?:
string[] outputLines = input.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
260 次 |
| 最近记录: |