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...
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...