How to remove characters present in first string from the second string in VB.NET

2 Answers

0 votes
Imports System
Imports System.Collections.Generic
Imports System.Text

Module Program

    ''' <summary>
    ''' Removes all characters from source that appear in charactersToRemove.
    ''' </summary>
    Function RemoveCharacters(
        source As String,
        charactersToRemove As String) As String

        Dim forbidden As New HashSet(Of Char)(charactersToRemove)
        Dim result As New StringBuilder()

        For Each ch As Char In source
            If Not forbidden.Contains(ch) Then
                result.Append(ch)
            End If
        Next

        Return result.ToString()
    End Function

    Sub Main()
        Dim first As String = "programming language"
        Dim second As String = "rogy"

        Dim result As String = RemoveCharacters(second, first)

        Console.WriteLine($"First : ""{first}""")
        Console.WriteLine($"Second: ""{second}""")
        Console.WriteLine($"Result: ""{result}""")
    End Sub

End Module



' run:
' 
' First : "programming language"
' Second: "rogy"
' Result: "y"
'

 



answered Oct 3 by avibootz
0 votes
Imports System
Imports System.Collections.Generic
Imports System.Linq

Module Program

    Function RemoveCharacters(
        source As String,
        charactersToRemove As String) As String

        Dim forbidden = New HashSet(Of Char)(charactersToRemove)

        Return New String(
            source.Where(Function(c) Not forbidden.Contains(c)).ToArray())
    End Function

    Sub Main()
        Dim first = "programming language"
        Dim second = "rogy"

        Console.WriteLine(RemoveCharacters(second, first))
    End Sub

End Module


' run:
' 
' y
'

 



answered Oct 3 by avibootz

Related questions

...