こんにちは、次のようなテキストファイルがあります
45353
b
4353
b
54
54
b
5345
53453
および次のような配列リスト
A
B
A
文字列 b->A b -> b -> A を置き換えるにはどうすればよいですか?
出力は次のように見える必要があります
45353
A
4353
B
54
54
A
5345
53453
Regex.Replace(String, String, Int32)
これには、意図した置換がすべて置換されるまで実行することができます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);
ヒント: 疲れているときは答えないでください...
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
2 番目のファイルを文字列の配列に読み込みます
カウンターを 0 に初期化したままにする
最初のファイルから読み取り、データが置換条件に一致するたびに、カウンターの値に置き換えてカウンターをインクリメントします