Удалить не буквенно-цифровые символы из строки Python
Буквенно-цифровые символы содержат смесь 26 символов из набора букв и цифр от 0 до 9. Неалфавитно-цифровые символы включают символы, не являющиеся буквами или цифрами, например + и @ .
В этом руководстве мы обсудим, как удалить не буквенно-цифровые символы из строки в Python.
Используйте метод isalnum() для удаления всех не буквенно-цифровых символов в строке Python
Мы можем использовать метод isalnum() , чтобы проверить, является ли данный символ или строка буквенно-цифровыми или нет. Мы можем сравнивать каждый символ в строке по отдельности, и если он буквенно-цифровой, то объединяем его с помощью функции join() .
Используйте функцию filter() для удаления всех не буквенно-цифровых символов в строке Python
Функция filter() используется для построения итератора из компонентов итерируемого объекта и фильтрует элементы объекта с помощью функции.
Для нашей задачи строка является нашим объектом, и мы будем использовать функцию isalnum() , которая проверяет, содержит ли данная строка буквенно-цифровые символы или нет, проверяя каждый символ. Функция join() объединяет все символы для возврата строки.
Этот метод не работает с Python 3.
Используйте регулярные выражения для удаления всех не буквенно-цифровых символов в строке Python
Регулярное выражение — это исключительная группа символов, которая помогает сопоставлять разные строки или наборы строк с использованием определенного синтаксиса в шаблоне. Чтобы использовать регулярные выражения, мы импортируем модуль re.
Мы можем использовать функцию sub() из этого модуля, чтобы заменить всю строку, которая соответствует не буквенно-цифровому символу, пустым символом.
Необходимо очистить строку от посторонних символов
Строка содержит различные символы, нужно удалить все, оставив лишь буквы и пробелы. Как я понимаю, нужно действовать через регулярные выражения, но как конкретно — мне непонятно.
![]()
При помощи regexp можно так:
Имеется метод str.translate(), который удаляет все символы из строки, содержащиеся в некотором наборе. regexp тут не нужны скорее всего.
Если хочется оставить только ascii буквы и соответствующие стандартные символы пробела, то bytes.translate() является наиболее эффективным методом:
Если необходимо сохранить произвольные буквы и символы пробела, то можно использовать регулярные выражения:
Python-сообщество
всем привет
существует ли какой-то более простой и быстрый способ кроме ISALNUM() в цикле?
Отредактировано gtlhbkkj (Окт. 6, 2019 15:10:06)
#2 Окт. 6, 2019 16:24:14
как удалить из строки все небуквенные и нечисловые символы?
через регулярки можно
Отредактировано vic57 (Окт. 6, 2019 16:44:23)
#3 Окт. 6, 2019 16:53:30
как удалить из строки все небуквенные и нечисловые символы?
#4 Окт. 6, 2019 17:00:30
как удалить из строки все небуквенные и нечисловые символы?
Быстрый не быстрый, а твой цикл не по-питоновски сделан
#5 Окт. 6, 2019 17:09:56
как удалить из строки все небуквенные и нечисловые символы?
#6 Окт. 6, 2019 19:58:50
как удалить из строки все небуквенные и нечисловые символы?
#7 Окт. 7, 2019 00:19:46
как удалить из строки все небуквенные и нечисловые символы?
Отредактировано gtlhbkkj (Окт. 7, 2019 00:20:35)
#8 Окт. 7, 2019 04:28:38
как удалить из строки все небуквенные и нечисловые символы?
Код ужасный, конечно, во всех смыслах.
Там в C89 есть функция isalnum(), декларируется она в ctype.h .

Отредактировано py.user.next (Окт. 7, 2019 04:30:20)
#9 Окт. 7, 2019 20:46:06
как удалить из строки все небуквенные и нечисловые символы?
#10 Окт. 7, 2019 21:32:35
как удалить из строки все небуквенные и нечисловые символы?
Там и для Юникода функция есть. Просто ты в C полный ноль, если вообще не отрицательное число.
Это оттого, что ты прилюдно обосрался, когда захотел сумничать.
и так далее.
В итоге на такой немножко длинной строке твоя программа начнёт выводить на экран данные из участка памяти, не принадлежащего arr.
Ну, и если в целом судить, материалы, по которым ты учился, тоже написал какой-то придурок, иначе ты бы не выдал такую ахинею, где нет даже return у main().
Русские Блоги
Вводное руководство по Python — как удалить все символы, кроме букв и цифр
Манипуляции со строками — очень важная задача в повседневном кодировании и веб-разработке; например, большинство запросов и ответов в HTTP-запросах имеют форму строк, и иногда нам нужно удалить некоторые бесполезные данные. В следующей статье будут представлены некоторыеМетод PythonЧтобы удалить все символы, кроме букв и цифр в указанной строке, я надеюсь, что это будет полезно для всех.
Метод 1: используйте функцию re.sub ()
Функция регулярных выражений в Python очень мощная, а функция re.sub () — это обычная строка замены в Python. Функция re.sub () может использовать обычное сопоставление для замены строки, а затем заменить сопоставленную строку другой строкой.
грамматика:
re.sub(pattern , repl , string , count = 0 , flags = 0)
«Sub» в этой функции означает подстроку (SubString), поиск определенного шаблона регулярного выражения (первый параметр) в данной строке (третий параметр) и использование repl (второй Parameter) в заменяемом шаблоне подстроки, посчитайте, сколько раз возникает эта ситуация.
Пример кода:
Вывод: 
Метод 2: используйте метод isalpha () + isnumeric () + join ()
Метод isalpha () — это встроенный метод обработки строк в Python, который может проверять, состоит ли строка только из букв. Если все символы в строке являются буквами, возвращается «Истина», в противном случае — «Ложь».
Метод isnumeric () — это встроенный метод Python для обработки строк, который может проверять, состоит ли строка только из чисел. Если все символы в строке числовые, возвращается «Истина», в противном случае — «Ложь».
Метод join () используется для соединения элементов в последовательности с указанными символами для создания новой строки.
Пример кода:
Вывод: 
Метод 3: используйте isalnum () ++ join ()
Функция isalnum () используется для проверки, все ли символы в данной строке являются буквами или цифрами.
Пример кода:
Вывод:
Для получения дополнительных руководств, следуйтеQianfeng Education "Книги серии Python", Содержание от простого к более глубокому, практическое обучение, ориентированное на трудоустройство.