I have a text file to read. The text file contain two parts. I need to find matching line in this two parts and place the matching lines in new file. In that new file i need to change the value in () from firs part and value in[] in second part. So far i can do all this things. This is a code.
Code:
Imports System.IO
Imports System.Text.RegularExpressions
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim File() As String = IO.File.ReadAllLines("C:\wires.txt")
Using sw As New IO.StreamWriter("C:\wirematches.txt")
For x As Integer = 0 To File.Length - 1
Dim s As String = Me.GetLineMatch(File(x), x, File)
If s <> String.Empty Then
sw.WriteLine(s)
End If
Next
End Using
Dim j As Long = 0
Dim myReader As StreamReader = New StreamReader("C:\wirematches.txt")
Dim line As String
Do
j += 1
line = myReader.ReadLine()
Loop Until line Is Nothing
myReader.Close()
myReader = Nothing
TextBox3.Text = CStr(j)
End Sub
Private Function GetLineMatch(ByVal LineToMatch As String, ByVal LineNumber As Integer, ByVal FileContents() As String) As String
Dim value As String = System.Text.RegularExpressions.Regex.Match(LineToMatch, "\([\d \.]+\)").Value.Replace("("c, "["c).Replace(")"c, "]"c)
If value = String.Empty Then Return String.Empty
For x As Integer = 0 To FileContents.Length - 1
If FileContents(x).Contains(value) Then
Return String.Format("{0} | {2} ", LineToMatch, LineNumber.ToString(), FileContents(x), x.ToString())
End If
Next
Return String.Empty
End Function
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Dim lines() As String = IO.File.ReadAllLines("C:\wirematches.txt")
For x As Integer = 0 To lines.GetUpperBound(0)
Dim parts() As String = lines(x).Split(New String() {" | "}, StringSplitOptions.None)
parts(0) = Regex.Replace(parts(0), "\(([0-9]|\s|\.)+\)", "(T" & (x + 1).ToString.PadRight(12) & ")")
parts(1) = Regex.Replace(parts(1), "\[([0-9]|\s|\.)+\]", "[T" & (x + 1).ToString.PadRight(12) & "]")
lines(x) = parts(0) & " | " & parts(1)
Next
IO.File.WriteAllLines("C:\wirematches.txt", lines)
End Sub
Now i want to changes the x and y. For example my new text file is like this
i need to change the value in red colour and green colour. I want to replace this values
For example:
The first line value is 22911. There is no changes in first line but the second line onward i must plus with 2.54 until end of column.
Let say 22911=X
So second line onwards the value will be X=X+2.4. Same also for second part . Can any one guid me on how should i point the green and red value and change the values. I attach mu text files here for your referance