我有一個名爲info.txt的文本文件,其中包含字符串。計數子串發生
info.txt
05331
02555
03211
05222
04321
02387
03444
03127
05117
03680
03881
01579
03111
我的輸出應該在new.txt
輸出new.txt
05331
02555
03211
1
05222
04321
02387
03444
03127
2
05117
03680
03881
01579
03111
3
基本上我應該得到的所有字符串的計數開始「03 「並在子串」01「之前打印計數
try
{
String line;
Int counter =0;
StreamReader sr = new StreamReader("C:\\Files\\gamenam.txt");
StreamWriter sw = new StreamWriter("C:\\Files\\gamenam_1.txt");
while ((line = sr.ReadLine())!= null)
{
if (line.substring(0,2) == "05")
{
sw.Write(counter.ToString());
counter =0;
}
If (line.subString(0,2) =="03")
{
//loop
counter++;
}
sw.WriteLine(line);
}
sr.Close();
sw.Close();
}
catch (Exception e)
{
Console.WriteLine("Exception: " + e.Message);
}
finally
{
Console.WriteLine("Exception finally block.");
}
}
寫完我的代碼後,我只能得到。
0
05331
02555
03211
1
05222
04321
02387
03444
03127
2
05117
03680
03881
01579
03111
第一行的0不應該是因爲我之前沒有蜇傷,並且上次計數也沒有計數。
請幫幫忙。
讀過你的樣品兩次,仍然不能得到你想要得到的數字邏輯。你說你想要在子字符串「01」之前打印計數,但是在'05'之前打印它的期望輸出。 –
由於文件的第一行從05開始立即寫出計數器。基本上,你需要讀取AHEAD,而不是BEHIND,也就是說,在決定寫出計數器之前,你需要知道下一行是什麼。 –
根據您提供的輸出,看起來像邏輯是每次以「05」開頭的字符串在文件末尾出現AND並打印計數。它是否正確? – etaiso