서버에서 생성 한 파일이 있습니다.이 파일의 생성 또는 형식을 제어 할 수 없습니다. 나는 각 줄이 길이가 설정된 문자열 (이 경우 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]
가 있습니다 전 (before)과 잘 작동 소스 디렉토리에있는 모든 파일을 통해 루프에 그 코드 블록 후 문. 이 나쁘지 않네요
희망은 읽기/
각 줄이 21 자릿수인지 확인해야하지만 정규식을 끝까지 고정해야합니다. 이유가 무엇입니까? – fge
아니, "$"거기에 있어야하지 않았어 ... 긴 밤! 고맙습니다. 아직도 나머지는 조금 붙어 있습니다. – user1171534
'rgx.IsMatch (i.ToString)'에서'i'가 루프 변수이고'Integer'이기 때문에 절대 일치하지 않습니다. 나는 당신이'rgx.IsMatch (linesList (i))'를 의미한다고 가정하고 있습니까? – rmobis