C# 用该字符串的索引替换该字符串

C# 用该字符串的索引替换该字符串,c#,string,C#,String,你好,我有一个文本文件 45353 b 4353 b 54 54 b 5345 53453 A B A 和数组列表 45353 b 4353 b 54 54 b 5345 53453 A B A 如何替换字符串b->AB->b->A 输出应该是这样的 45353 A 4353 B 54 54 A 5345 53453 将第二个文件读入字符串数组 保持计数器初始化为0 从第一个文件读取,每次数据与替换条件匹配时,用计数器上的值替换它,并增加计数器的值StreamReader sr=new

你好,我有一个文本文件

45353
b
4353
b
54
54
b
5345
53453
A
B
A
和数组列表

45353
b
4353
b
54
54
b
5345
53453
A
B
A
如何替换字符串b->AB->b->A

输出应该是这样的

45353
A
4353
B
54
54
A
5345
53453

将第二个文件读入字符串数组

保持计数器初始化为0

从第一个文件读取,每次数据与替换条件匹配时,用计数器上的值替换它,并增加计数器的值

StreamReader sr=new StreamReader(“file.txt”);
StreamReader sr = new StreamReader("file.txt");
int counter = 0;
List<string> arrayFromFile = new List<string>();
while(string line = sr.ReadLine())
{
   if(line=='b')
   {
      line = abaArray[counter];
      counter++;
      if(counter>=abaArray.Length)
      {
         counter=0;
      }
   }
   arrayFromFile.Add(line)
}
//Write back to the file
int计数器=0; List arrayFromFile=新列表(); while(string line=sr.ReadLine()) { 如果(行=='b') { 行=数组[计数器]; 计数器++; if(计数器>=abarray.Length) { 计数器=0; } } arrayFromFile.Add(行) } //写回文件
这将对每个找到的单词执行
MatchEvaluator
,并将其替换为
replacements
数组中适当位置的值。

您可以使用它,执行直到替换
arr
中的所有预期替换

var text = File.ReadAllText("file.txt");
var arr = new[] { "A", "B", "A" };
var regex = new Regex("b");
for(int i = 0; i < arr.Count; i++)
    text = regex.Replace(text, arr[i].ToString(), 1);
var text=File.ReadAllText(“File.txt”);
var arr=新[]{“A”、“B”、“A”};
var正则表达式=新正则表达式(“b”);
对于(int i=0;i

小贴士:累了千万不要回答…

什么?你能至少提供你期望的输出吗?我不知道你在说什么。编辑仍然没有意义。将
b
替换为
A
而不是
b
的条件是什么?你试过什么吗?或者你只是想这么做吗?输出添加到questionOK,明确投票结束:
询问代码的问题必须表明对正在解决的问题的最低理解。包括尝试过的解决方案、它们不起作用的原因以及预期结果
(由于我现在没有设置VS,而且我的C#语法有点生疏,所以没有发布代码)