Find string for every line

  • Thread starter Thread starter mipakteh
  • Start date Start date
M

mipakteh

Guest
This question same with previous thread but this one try to to find string for each line not for all line;

example:Line 1

StringToFind = 0 ,2 ,
StringToCheck = 51 ,52 ,56 ,12 ,16 ,26 ,49 ,47 ,47 ,97 ,97 ,77 ,68 ,61 ,61 ,81 ,81 ,11 ,16 ,15 ,12 ,65 ,62 ,52 ,68 ,62 ,63 ,82 ,83 ,23 ,34 ,37 ,36 ,47 ,46 ,76 ,26 ,21 ,23 ,61 ,63 ,13 ,32 ,30 ,36 ,20 ,26 ,06 ,10 ,14 ,10 ,04 ,00 ,40 ,11 ,16 ,13 ,16 ,13 ,63 ,46 ,46 ,44 ,66 ,64 ,64 ,92 ,93 ,90 ,23 ,20 ,30 ,35 ,32 ,31 ,52 ,51 ,21 ,15 ,19 ,12 ,59 ,52 ,92 ,29 ,24 ,24 ,94 ,94 ,44 ,26 ,25 ,26 ,65 ,66 ,56 ,44 ,45 ,46 ,45 ,46 ,56 ,36 ,35 ,34 ,65 ,64 ,54 ,20 ,21 ,25 ,01 ,05 ,15 ,94 ,95 ,96 ,45 ,46 ,56 ,57 ,50 ,51 ,70 ,71 ,01 ,43 ,49 ,41 ,39 ,31 ,91 ,96 ,93 ,92 ,63 ,62 ,32 ,

Result show = Occurences (02)= nothing,Occurences (20)= 3 ,

example:Line 2

StringToFind = 3 ,8 ,
StringToCheck = 72 ,72 ,72 ,22 ,22 ,22 ,75 ,74 ,77 ,54 ,57 ,47 ,55 ,58 ,56 ,58 ,56 ,86 ,39 ,38 ,37 ,98 ,97 ,87 ,61 ,65 ,66 ,15 ,16 ,56 ,46 ,41 ,44 ,61 ,64 ,14 ,76 ,74 ,77 ,64 ,67 ,47 ,33 ,31 ,38 ,31 ,38 ,18 ,37 ,39 ,33 ,79 ,73 ,93 ,27 ,23 ,23 ,73 ,73 ,33 ,12 ,18 ,19 ,28 ,29 ,89 ,36 ,33 ,36 ,63 ,66 ,36 ,35 ,32 ,35 ,52 ,55 ,25 ,53 ,52 ,53 ,32 ,33 ,23 ,27 ,23 ,29 ,73 ,79 ,39 ,77 ,75 ,70 ,75 ,70 ,50 ,07 ,00 ,08 ,70 ,78 ,08 ,69 ,60 ,69 ,90 ,99 ,09 ,22 ,22 ,21 ,22 ,21 ,21 ,65 ,68 ,60 ,58 ,50 ,80 ,72 ,75 ,78 ,25 ,28 ,58 ,84 ,85 ,83 ,45 ,43 ,53 ,78 ,73 ,75 ,83 ,85 ,35 ,

Result show = Occurences (38)= 3 ,Occurences (83)= 2 ,

Option Strict On
Option Explicit On
Public Class Form1

Private Data1 As New List(Of String)
Private Data2 As New List(Of String)


Private Items As New List(Of Txt)
Private Items_A As New List(Of Txt)
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

'Data1.AddRange(IO.File.ReadAllLines(IO.Path.Combine(My.Computer.FileSystem.SpecialDirectories.MyDocuments, "StringToFind.txt")))
'Data2.AddRange(IO.File.ReadAllLines(IO.Path.Combine(My.Computer.FileSystem.SpecialDirectories.MyDocuments, "StringToCheck.txt")))

'file text =StringToFind.txt
'0 ,2 ,
'3 ,8 ,
'4 ,6 ,

'file text =StringToCheck.txt
'50 ,52 ,53 ,02 ,03 ,23 ,98 ,98 ,92 ,88 ,82 ,82 ,79 ,79 ,75 ,99 ,95 ,95 ,27 ,28 ,28 ,78 ,78 ,88 ,39 ,36 ,34 ,96 ,94 ,64 ,86 ,84 ,89 ,64 ,69 ,49 ,06 ,07 ,04 ,67 ,64 ,74 ,36 ,37 ,35 ,67 ,65 ,75 ,87 ,83 ,80 ,73 ,70 ,30 ,55 ,51 ,55 ,51 ,55 ,15 ,82 ,89 ,82 ,29 ,22 ,92 ,46 ,45 ,41 ,65 ,61 ,51 ,49 ,42 ,40 ,92 ,90 ,20 ,72 ,75 ,76 ,25 ,26 ,56 ,14 ,12 ,17 ,42 ,47 ,27 ,98 ,98 ,96 ,88 ,86 ,86 ,06 ,03 ,00 ,63 ,60 ,30 ,04 ,06 ,03 ,46 ,43 ,63 ,96 ,93 ,90 ,63 ,60 ,30 ,38 ,38 ,34 ,88 ,84 ,84 ,87 ,87 ,82 ,77 ,72 ,72 ,79 ,76 ,70 ,96 ,90 ,60 ,81 ,81 ,80 ,11 ,10 ,10 ,
'74 ,77 ,75 ,47 ,45 ,75 ,46 ,47 ,49 ,67 ,69 ,79 ,72 ,77 ,73 ,27 ,23 ,73 ,82 ,81 ,88 ,21 ,28 ,18 ,54 ,56 ,58 ,46 ,48 ,68 ,20 ,22 ,20 ,02 ,00 ,20 ,00 ,04 ,06 ,04 ,06 ,46 ,49 ,46 ,43 ,96 ,93 ,63 ,55 ,56 ,51 ,56 ,51 ,61 ,61 ,60 ,64 ,10 ,14 ,04 ,99 ,99 ,94 ,99 ,94 ,94 ,61 ,66 ,63 ,16 ,13 ,63 ,29 ,26 ,28 ,96 ,98 ,68 ,60 ,63 ,64 ,03 ,04 ,34 ,91 ,96 ,90 ,16 ,10 ,60 ,03 ,05 ,06 ,35 ,36 ,56 ,72 ,79 ,78 ,29 ,28 ,98 ,30 ,31 ,32 ,01 ,02 ,12 ,01 ,08 ,01 ,18 ,11 ,81 ,07 ,09 ,04 ,79 ,74 ,94 ,71 ,70 ,72 ,10 ,12 ,02 ,94 ,94 ,94 ,44 ,44 ,44 ,70 ,75 ,71 ,05 ,01 ,51 ,
'81 ,87 ,87 ,17 ,17 ,77 ,88 ,87 ,82 ,87 ,82 ,72 ,89 ,84 ,86 ,94 ,96 ,46 ,46 ,48 ,47 ,68 ,67 ,87 ,39 ,39 ,37 ,99 ,97 ,97 ,89 ,80 ,89 ,90 ,99 ,09 ,87 ,89 ,88 ,79 ,78 ,98 ,52 ,55 ,50 ,25 ,20 ,50 ,93 ,90 ,99 ,30 ,39 ,09 ,94 ,98 ,91 ,48 ,41 ,81 ,26 ,28 ,29 ,68 ,69 ,89 ,35 ,34 ,33 ,54 ,53 ,43 ,60 ,61 ,66 ,01 ,06 ,16 ,07 ,06 ,05 ,76 ,75 ,65 ,56 ,53 ,58 ,63 ,68 ,38 ,67 ,60 ,62 ,70 ,72 ,02 ,85 ,80 ,83 ,50 ,53 ,03 ,11 ,12 ,18 ,12 ,18 ,28 ,27 ,26 ,22 ,76 ,72 ,62 ,89 ,85 ,84 ,95 ,94 ,54 ,20 ,21 ,26 ,01 ,06 ,16 ,83 ,81 ,87 ,31 ,37 ,17 ,43 ,47 ,48 ,37 ,38 ,78 ,

For i As Integer = 0 To Data1.Count - 1
TextBox1.AppendText(Data1(i).ToString & vbCrLf)
Items.Add(New Txt(Data1(i)))
Next

For i As Integer = 0 To Data2.Count - 1
TextBox2.AppendText(Data2(i).ToString & vbCrLf)
Items_A.Add(New Txt(Data2(i)))
Next

End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

Dim sb As New System.Text.StringBuilder

Dim sourceList As New List(Of String)
For Each t1 In Items_A
sourceList.AddRange(From t2 In t1.str_.Split(","c) Where Not String.IsNullOrEmpty(t2) Select t2.Trim)
Next

Dim counts As New Dictionary(Of String, Integer)
For Each t1 In Items
Dim t3 = (From t2 In t1.str_.Split(","c) Where Not String.IsNullOrEmpty(t2) Select t2.Trim).ToArray
Dim key = Join(t3, "")
If Not counts.ContainsKey(key) Then counts.Add(key, (From t4 In sourceList Where t4 = key).Count)
key = Join((t3.Reverse).ToArray, "")
If Not counts.ContainsKey(key) Then counts.Add(key, (From t4 In sourceList Where t4 = key).Count)
Next

For Each key As String In (From k In counts.Keys Order By k)
If counts(key) > 0 Then
sb.Append("Occurences (" & key & ")= " & counts(key).ToString & " ," & vbCrLf)
Else
sb.Append("Occurences (" & key & ")= nothing")
End If

Next

TextBox3.AppendText(sb.ToString)

End Sub
End Class
Public Class Txt
Public Property str_ As String
Public Sub New(ByVal a As String)
str_ = a
End Sub
Public Overrides Function ToString() As String
Return Str_
End Function
End Class



Thank.

Continue reading...
 

Similar threads

Back
Top