Вот как это сделать с модулем re
, если вы должны придерживаться стандартных библиотек:
# works in python 2 and 3
import re
import string
remove = string.punctuation
remove = remove.replace("-", "") # don't remove hyphens
pattern = r"[{}]".format(remove) # create the pattern
txt = ")*^%{}[]thi's - is - @@#!a !%%!!%- test."
re.sub(pattern, "", txt)
# >>> 'this - is - a - test'
Если производительность имеет значение, вы можете использовать str.translate
, поскольку это быстрее, чем использование регулярного выражения . В Python 3 код txt.translate({ord(char): None for char in remove})
.
Мы выяснили, что это было вызвано другой спецификацией компонента. В этом компоненте мы используем ActivatedRoute, Router и DialogService (от angularx-bootstrap-modal). Кажется, что этот компонент нельзя удалить перед следующим тестом или что-то в этом роде. Out для этой ошибки мы вызываем
fixture.destroy()
в afterEach
в спецификации, которая вызывала этот отказ.