サーバーによって生成されたファイルがあります-このファイルの生成方法またはフォーマット方法を制御できません。各行が設定された長さの文字列(この場合は21個の数値文字)で始まることを確認する必要があります。行がその条件に一致しない場合は、前の行に結合し、ファイル全体を読み取って修正した後、保存する必要があります。ディレクトリ内の多くのファイルに対してこれを行っています。
これまでのところ:
Dim rgx As New Regex("^[0-9]{21}$")
Dim linesList As New List(Of String)(File.ReadAllLines(finfo.FullName))
If linesList(0).Contains("BlackBerry Messenger") Then
linesList.RemoveAt(0)
For i As Integer = 0 To linesList.Count
If Not rgx.IsMatch(i.ToString) Then
linesList.Concat(linesList(i-1))
End If
Next
End If
File.WriteAllLines(finfo.FullName, linesList.ToArray())[code]
そのコードブロックの前後に、ソースディレクトリ内のすべてのファイルをループするforステートメントがあります。これは正常に機能します。
これが読むのにそれほど悪くないことを願っています:/