Если это фактическая последовательность строк, попробуйте следующее: заполните List(Of String)
строками, представляющими ваши главы (чтение из файла или любого другого источника).
Цикл считывает список в обратном направлении, вставляя строку <chapter>
в список, когда текущая строка содержит дефис, а предыдущая строка не содержит.
В этом коде предполагается, что определение глав (&sc_Ch[X];
) включает дефисы только в этом конкретном случае.
Dim chapters As List(Of String) = File.ReadAllLines("[File Path]").ToList()
Dim NotAChapter As Boolean = True
For line As Integer = chapters.Count - 1 To 0 Step -1
If chapters(line).Contains("-"c) Then
If NotAChapter Then chapters.Insert(line + 1, "<chapter>")
NotAChapter = False
Else
NotAChapter = True
End If
Next
' Name the file as you please
File.WriteAllLines("chapters_new.txt", chapters)