Saya menggunakan pengkodean berikut yang mengedit file teks saya berdasarkan nilai di kolom lebih kecil dari nilai di kotak teks.
Dim intValue As Integer
Dim intMaxValue As Integer = Integer.Parse(textbox1.Text)
Dim strSourceFile As String = IO.Path.Combine("G:\test.txt")
Dim OutPutFile As String = IO.Path.Combine("G:\test2.txt")
Dim strLines() As String = IO.File.ReadAllLines(strSourceFile)
Dim strFiltered As New System.Text.StringBuilder
Dim strTemp() As String
For Each strLine In strLines
If strLine.Trim.Length <> 0 Then
strTemp = strLine.Split(" "c)
If Trim(strTemp(0)) = "USER" AndAlso Trim(strTemp(2)) = "1" Then
strLine = strTemp(8).Trim & " " & strTemp(16).Trim
If Integer.TryParse(strLine.Split(" "c)(1), intValue) Then
If intValue <= intMaxValue Then
strFiltered.Append(strLine & Environment.NewLine)
End If
End If
End If
End If
Next
IO.File.WriteAllText(OutPutFile, strFiltered.ToString)
Sekarang pengkodean di atas berfungsi dengan sempurna, hasilnya terlihat seperti berikut:-
String1 100
String1 256
String1 500
String2 100
String2 256
String3 876
String3 345
String3 643
String3 102
String4 100
String4 084
String5 492
String5 178
String6 873
String6 156
String6 786
Apa yang saya harapkan adalah menambahkan pengkodean tambahan jadi saya hanya ingin String dengan angka tertinggi ditampilkan sehingga tampilan di atas akan terlihat seperti
String1 500
String2 256
String3 876
String4 100
String5 492
String6 873
Apakah mungkin untuk menambahkan sedikit pengkodean terakhir?
PEMBARUAN
Daripada memeriksa angka tertinggi dan menghapus bidang lainnya, saya ingin memeriksa setiap bidang yang cocok di kolom 1 dan memeriksa angka tertinggi dan jika lebih besar dari bidang di kotak teks1 maka hapus semua baris untuk bidang yang cocok di kolom 1. Jika angka tertinggi lebih rendah dari bidang di kotak teks1, lalu pertahankan baris itu tetapi hapus kolom 1 bidang lain yang cocok. Jadi misalnya
String1 100
String1 256
String1 500
String2 100
String2 256
String3 876
String3 345
String3 643
String3 102
String4 100
String4 084
String5 492
String5 178
String6 873
String6 156
String6 786
Jadi jika textbox1 memiliki 550 maka Anda harus memilikinya
String1 500
String2 256
String4 100
String5 492
Pembaruan 2
Nilai di textbox1 adalah
1341273599
Ketika saya hanya memfilter kolom untuk menampilkan kolom 1 dan kolom 2 saya mendapatkan yang berikut.
S00048 1428142557
S00048 1428141809
S00048 1338805621
S00048 1310295931
S00048 1309086124
S00048 1432203954
S00048 1431686625
S00048 1428142556
S00048 1431686626
S00048 1334743408
S00042 1324204635
S00040 1313659927
S00037 1308388943
S00033 1303118141
S00032 1391422317
S00032 1391422304
S00032 1298024019
S00032 1391422303
S00032 1391422316
Jadi ketika saya menjalankan pengkodean sebenarnya saya mendapatkan yang berikut ini
S00048 1338805621
S00042 1324204635
S00040 1313659927
S00037 1308388943
S00033 1303118141
S00032 1298024019
Anda mungkin dapat melihat bahwa hasil akhirnya salah?