Как удалить скобки из строки python
Ответы
Ivan Mamtsev
02 июня 2022
Чтобы удалить один или несколько одинаковых символов можно воспользоваться методом строки .replace()
.
s = '(foo(bazz(' # '(foo(bazz'
s = s.replace('(', '') # 'foobazz'
Но если символы разные, то придется проходить несколько раз, каждый раз с новым символом для замены, что совсем неудобно. Тут можно либо применить регулярные выражения:
import re
# Обратите внимание, нам нужно экранировать скобки,
# чтобы различить их от синтаксиса регулярных выражений
braces = r'[\(\)]'
s = '(foo)(bazz)()' # '(foo)(bazz)()'
s = re.sub(braces, '', s) # 'foobazz'
Либо обойти строку и собрать новую из всех символов, кроме тех что хотим удалить:
braces = {'(', ')'} # {'(', ')'}
s = '(foo)(bazz)()' # '(foo)(bazz)()'
s = ''.join(ch for ch in s if ch not in braces) # 'foobazz'
0
0