Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,933 questions

51,870 answers

573 users

How to get the common characters from two strings in VB.NET

4 Answers

0 votes
Module Module1

    Sub Main()

        Dim arr1 As String = "GTABE", arr2 As String = "GFTFAW"
        Dim arr3(10) As Char
        GetCommonCharacters(arr1, arr2, arr3)
        Console.WriteLine(arr3)

        Dim arr4 As String = "GTABEFAZ", arr5 As String = "GFTFAW"
        Dim arr6(10) As Char
        GetCommonCharacters(arr4, arr5, arr6)
        Console.WriteLine(arr6)

        Dim arr7 As String = "ABZDKKSYO", arr8 As String = "WQZGDKKYSLMN"
        Dim arr9(10) As Char
        GetCommonCharacters(arr7, arr8, arr9)
        Console.WriteLine(arr9)

    End Sub

    Sub GetCommonCharacters(s1 As String, s2 As String, s3() As Char)

        Dim i As Integer = 0, s1len As Integer = s1.Length, s2len As Integer = s2.Length

        Dim k As Integer = 0
        Do While (i < s1len Or i < s2len)

            Dim j As Integer = 0
            If (s2len > s1len) Then

                Do While (j < s2len - 1)

                    If (i < s1len - 1) Then
                        If (s1(i) = s2(j)) Then
                            If (Not s3.Contains(s1(i))) Then
                                s3(k) = s1(i)
                                k = k + 1
                                Exit Do
                            End If
                        End If
                    End If
                    j = j + 1
                Loop

            End If

            If (s1len > s2len) Then

                Do While (j < s1len - 1)

                    If (i < s2len - 1) Then
                        If (s2(i) = s1(j)) Then
                            If (Not s3.Contains(s2(i))) Then
                                s3(k) = s2(i)
                                k = k + 1
                                Exit Do
                            End If
                        End If
                    End If
                    j = j + 1
                Loop

            End If

            i = i + 1

        Loop

    End Sub

End Module

' run:
' 
' GTA
' GFTA
' ZDKSY


 



answered Jan 17, 2017 by avibootz
0 votes
Module Module1

    Sub Main()

        Dim arr1 As String = "GTABE", arr2 As String = "GFTFAW"
        Dim arr3(10) As Char
        GetCommonCharacters(arr1, arr2, arr3)
        Console.WriteLine(arr3)

        Dim arr4 As String = "GTABEFAZ", arr5 As String = "GFTFAW"
        Dim arr6(10) As Char
        GetCommonCharacters(arr4, arr5, arr6)
        Console.WriteLine(arr6)

        Dim arr7 As String = "ABZDKKSYO", arr8 As String = "WQZGDKKYSLMN"
        Dim arr9(10) As Char
        GetCommonCharacters(arr7, arr8, arr9)
        Console.WriteLine(arr9)

    End Sub

    Sub GetCommonCharacters(s1 As String, s2 As String, s3() As Char)

        Dim i As Integer = 0
        Dim ascii1(256) As Integer, ascii2(256) As Integer

        Do While (i < s1.Length)
            ascii1(Asc(s1(i))) = ascii1(Asc(s1(i))) + 1
            i = i + 1
        Loop
        i = 0

        Do While (i < s2.Length)
            ascii2(Asc(s2(i))) = ascii2(Asc(s2(i))) + 1
            i = i + 1
        Loop
        i = 0

        Dim k As Integer = 0
        Do While (i < 256)
            If (ascii1(i) > 0 And ascii2(i) > 0) Then
                If (Not s3.Contains(Chr(ascii1(i)))) Then
                    s3(k) = Chr(i)
                    k = k + 1
                End If
            End If
            i = i + 1
        Loop

    End Sub

End Module

' run:
' 
' AGT
' AFGT
' DKSYZ

 



answered Jan 17, 2017 by avibootz
0 votes
Module Module1

    Sub Main()

        Dim arr1 As String = "GTABE", arr2 As String = "GFTFAW"
        Dim arr3(10) As Char
        GetCommonCharacters(arr1, arr2, arr3)
        Console.WriteLine(arr3)

        Dim arr4 As String = "GTABEFAZ", arr5 As String = "GFTFAW"
        Dim arr6(10) As Char
        GetCommonCharacters(arr4, arr5, arr6)
        Console.WriteLine(arr6)

        Dim arr7 As String = "ABZDKKSYO", arr8 As String = "WQZGDKKYSLMN"
        Dim arr9(10) As Char
        GetCommonCharacters(arr7, arr8, arr9)
        Console.WriteLine(arr9)

    End Sub

    Sub GetCommonCharacters(s1 As String, s2 As String, s3() As Char)

        Dim k As Integer = 0

        For Each ch As Char In s1

            If (s2.Contains(ch)) Then
                If (Not s3.Contains(ch)) Then
                    s3(k) = ch
                    k = k + 1
                End If
            End If

        Next

    End Sub

End Module

' run:
' 
' GTA
' GTAF
' ZDKSY


 



answered Jan 17, 2017 by avibootz
0 votes
Module Module1

    Sub Main()

        Dim arr1 As String = "GTABE", arr2 As String = "GFTFAW"
        Dim arr3(10) As Char
        GetCommonCharacters(arr1, arr2, arr3)
        Console.WriteLine(arr3)

        Dim arr4 As String = "GTABEFAZ", arr5 As String = "GFTFAW"
        Dim arr6(10) As Char
        GetCommonCharacters(arr4, arr5, arr6)
        Console.WriteLine(arr6)

        Dim arr7 As String = "ABZDKKSYO", arr8 As String = "WQZGDKKYSLMN"
        Dim arr9(10) As Char
        GetCommonCharacters(arr7, arr8, arr9)
        Console.WriteLine(arr9)

    End Sub

    Sub GetCommonCharacters(s1 As String, s2 As String, s3() As Char)

        Dim i As Integer = 0, s1len As Integer = s1.Length, s2len As Integer = s2.Length

        Dim k As Integer = 0
        Do While (i < s1len Or i < s2len)
            Dim j As Integer = 0
            Do While (j < s2len - 1)
                If (i < s1len - 1) Then
                    If (s1(i) = s2(j)) Then
                        If (Not s3.Contains(s1(i))) Then
                            s3(k) = s1(i)
                            k = k + 1
                            Exit Do
                        End If
                    End If
                End If
                j = j + 1
            Loop
            i = i + 1
        Loop

    End Sub

End Module

' run:
' 
' GTA
' GTAF
' ZDKSY



 



answered Jan 18, 2017 by avibootz
...