Удаление определенных символов из строки

#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