How to reverse a string without affecting special characters in VB.NET

1 Answer

0 votes
Imports System

Public Class Program
    Public Shared Function reverseStringWithoutSpecialTheCharacters(ByVal str As String) As String
        Dim right As Integer = str.Length - 1
        Dim arr As Char() = str.ToCharArray()
        Dim left As Integer = 0

        While left < right
            If Not Char.IsLetter(arr(left)) Then
                left += 1
            ElseIf Not Char.IsLetter(arr(right)) Then
                right -= 1
            Else
                Dim tmp As Char = arr(left)
                arr(left) = arr(right)
                arr(right) = tmp
				
                left += 1
                right -= 1
            End If
        End While

        Return New String(arr)
    End Function

    Public Shared Sub Main(ByVal args As String())
        Dim str As String = "ab*#cde!@$,fg{}"
		
		str = reverseStringWithoutSpecialTheCharacters(str)
		
        Console.Write(str)
    End Sub
End Class



' run:
'
' gf*#edc!@$,ba{}
'

 



answered Aug 23, 2022 by avibootz
...