Удалите ненужный символ из строки в python - PullRequest
1 голос
/ 27 марта 2020

zen Python = '' 'Дзен Python, Тим Питерс

Красиво лучше, чем безобразно. Явное лучше, чем неявное. Простое лучше, чем сложное. Сложный лучше, чем сложный. Квартира лучше, чем вложенная. Разреженный лучше, чем плотный. Читаемость имеет значение. Особые случаи не достаточно особенные, чтобы нарушать правила. Хотя практичность превосходит чистоту. Ошибки никогда не должны проходить бесшумно. Если явно не молчать. Перед лицом двусмысленности откажитесь от соблазна гадать. Должен быть один - и желательно только один - очевидный способ сделать это. Хотя этот путь может быть неочевидным на первый взгляд, если вы не голландец. Сейчас лучше, чем никогда. Хотя никогда не бывает лучше, чем прямо сейчас. Если реализацию сложно объяснить, это плохая идея. Если реализацию легко объяснить, это может быть хорошей идеей. '' '

Как удалить ненужные символы, такие как -, * ,! в этой строке zen python с использованием понимания списка и разбиения ??

Я принял решение, используя замену и нормальный цикл в python, но мне нужно оптимальное решение для этого.

Ответы [ 3 ]

0 голосов
/ 27 марта 2020

Вы можете использовать регулярные выражения, чтобы сделать это для вас.

import re

output = re.sub('[^A-Z a-z 0-9 \n]+', '', my_string)

print(output)

Это должно удалить ненужные символы, которые вы упомянули в вопросе.

Надеюсь, это поможет!

0 голосов
/ 27 марта 2020

Вы можете использовать регулярное выражение:

import re

# note that * is a special character in regular expressions so you have to use \*
unwanted_char = '--,\*,!'  
pattern = '|'.join(unwanted_char.split(','))
print(re.sub(pattern , '', zenPython))

вывод:

Дзен Python, Тим Питерс

Красивая лучше, чем некрасиво. Явное лучше, чем неявное. Простое лучше, чем сложное. Сложный лучше, чем сложный. Квартира лучше, чем вложенная. Разреженный лучше, чем плотный. Читаемость имеет значение. Особые случаи не достаточно особенные, чтобы нарушать правила. Хотя практичность превосходит чистоту. Ошибки никогда не должны проходить бесшумно. Если явно не молчать. Перед лицом двусмысленности откажитесь от соблазна гадать. Должен быть один и желательно только один очевидный способ сделать это. Хотя этот путь может быть неочевидным на первый взгляд, если вы не голландец. Сейчас лучше, чем никогда. Хотя никогда не бывает лучше, чем сейчас. Если реализацию сложно объяснить, это плохая идея. Если реализацию легко объяснить, это может быть хорошей идеей.

0 голосов
/ 27 марта 2020

Используйте функцию maketrans (), где ваш первый параметр - это список "-, * ,!" и второй список, состоящий из пустых строк - ""

...