Ответ 1
Вам нужно создать таблицу переводов, используя maketrans
, который вы передадите методу str.translate
.
В Python 3.1 и новее maketrans
теперь является статическим методом в типе str
, поэтому вы можете использовать его для создания перевода каждого пунктуации вы хотите None
.
import string
# Thanks to Martijn Pieters for this improved version
# This uses the 3-argument version of str.maketrans
# with arguments (x, y, z) where 'x' and 'y'
# must be equal-length strings and characters in 'x'
# are replaced by characters in 'y'. 'z'
# is a string (string.punctuation here)
# where each character in the string is mapped
# to None
translator = str.maketrans('', '', string.punctuation)
# This is an alternative that creates a dictionary mapping
# of every character from string.punctuation to None (this will
# also work)
#translator = str.maketrans(dict.fromkeys(string.punctuation))
s = 'string with "punctuation" inside of it! Does this work? I hope so.'
# pass the translator to the string translate method.
print(s.translate(translator))
Это должно выводить:
string with punctuation inside of it Does this work I hope so