#python #string
#python #строка
Вопрос:
Я пытаюсь выяснить, как я могу удалить определенные символы из строки. К сожалению, это не работает. Я был бы признателен за любую помощь.
def delete_char(string):
string = list(string)
string.remove("n")
return ''.join(string)
delete_char("I want n to test n if you n work")
Ответ №1:
Как насчет использования replace
вместо этого?
def delete_char(string, target_char, replacement_char=""):
return string.replace(target_char, replacement_char)
print(delete_char("I want n to test n if you n work", "n"))
Ответ №2:
Вам необходимо повторно присвоить строковое значение удаленной форме. Кроме того, я бы предложил использовать replace вместо remove в этом месте и заменить его пустым символом. Что-то вроде этого должно работать:
def delete_char(string):
string = string.replace("n", "")
return string
Комментарии:
1. Теперь я немного смущен.. Я пытаюсь запустить опубликованный вами код, но ничего не происходит?
2. @Buni странно, это работает для меня при удалении новых строк. Похоже, что Алекс в любом случае дал вам достаточный и похожий ответ.
Ответ №3:
Вы могли бы использовать str.split
и str.join
:
>>> ' '.join("I want n to test n if you n work".split())
I want to test if you work
Это не то же самое, что просто удалить символ новой строки, но это обеспечит только один пробел между словами.
В противном случае просто замените новую строку ничем:
>>> "I want n to test n if you n work".replace('n', '')
I want to test if you work