0
我有一個服務器生成的文件 - 我無法控制如何生成或格式化此文件。我需要檢查每一行以設定長度的字符串開始(在本例中爲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]
有一個之前和代碼塊循環遍歷源目錄,工作正常的所有文件後聲明。
希望這不是太糟糕閱讀:/
你需要檢查每行_begins_與21位數字,但你錨你的正則表達式到最後 - 爲什麼? – fge
不,那個「$」不應該在那裏......漫漫長夜!謝謝。其餘的仍然有點困難。 – user1171534
在'rgx.IsMatch(i.ToString)'上,它不會匹配,因爲'i'是循環變量和'Integer'。我假設你的意思是'rgx.IsMatch(linesList(i))'? – rmobis