Python функция замены букв - PullRequest
0 голосов
/ 25 мая 2020

Мне нужно удалить знаки препинания, я задаю вопрос ниже с кодом, который у меня пока что ниже. Я не уверен, что не работает и чего мне не хватает - я стараюсь сделать это как можно более простым / простым и использовать только то, что я изучил до сих пор. Он говорит, что нужно использовать replace (), поэтому я пытался это сделать. Спасибо!

Определите функцию с именем strip_punctuation, которая принимает один параметр, строку, представляющую слово, и удаляет символы, считающиеся пунктуацией, повсюду в слове. (Подсказка: запомните метод .replace () для строк.)

def strip_punctuation(punctuations):
punctuation_chars = ["'", '"', ",", ".", "!", ":", ";", '#', '@']
for item in punctuations:
    if item in punctuation_chars:
        punctuations.replace(item, "")           
return punctuations

Ответы [ 2 ]

3 голосов
/ 26 мая 2020

Python строки неизменяемы. str.replace не изменяет строку, а возвращает новую строку. Итак, вы хотите

punctuations = punctuations.replace(item, "")

. Обратите внимание, что нет необходимости заранее проверять, входит ли item в punctuations, replace просто ничего не делает, если строка поиска не найдена.

0 голосов
/ 20 августа 2020
def strip_punctuation(x):
    punctuation_chars = ["'", '"', ",", ".", "!", ":", ";", '#', '@']
    for ch in punctuation_chars:
        x=x.replace(ch,"")
    return x

Это будет работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...