How to reverse a string without affecting special characters in Python

1 Answer

0 votes
def reverseStringWithoutTheSpecialCharacters(s):
    right = len(s) - 1
    left = 0
    lst = list(s)
 
    while (left < right):
        if not (lst[left].isalpha()):
            left += 1
        elif not (lst[right].isalpha()):
            right -= 1
        else: 
            lst[left], lst[right] = lst[right], lst[left]
            left += 1
            right -= 1
     
    return ''.join(lst)
 
s = "ab*#cde!@$,fg{}"
      
s = reverseStringWithoutTheSpecialCharacters(s)
 
print(s);
 
 
 
'''
run:
 
gf*#edc!@$,ba{}
 
'''

 



answered Aug 23, 2022 by avibootz
edited Aug 23, 2022 by avibootz
...