Перейти к содержимому

Как удалить все символы кроме букв python

  • автор:

Как мне удалить все символы кроме цифр и точек в STRING?

Это мои STR, как мне удалить все [] : s ssh h, и прочий мусор кроме точек и цифр?

  • Вопрос задан более трёх лет назад
  • 5364 просмотра

Комментировать

Решения вопроса 2

Заменить по регулярному выражению нечисла и неточки на ничего.
re.sub(r'[^0-9.]+’, r», string)

Ответ написан более трёх лет назад

Комментировать

Нравится 3 Комментировать

x_dmitry_x @x_dmitry_x

Это мои STR

import re old_list = ['85.1.1.1: [ssh] S', '85.44.135.123: [s', '85.444.135.123: ['] p = re.compile(r"\d\.\d\.\d\.\d") new_list = [] for _ in old_list: matched = p.match(_) if matched: new_list.append(matched.group()) print(new_list)

Ответ написан более трёх лет назад

Комментировать

Нравится 1 Комментировать

Ответы на вопрос 0

Ваш ответ на вопрос

Войдите, чтобы написать ответ

python

  • Python
  • +1 ещё

Как отфильтровать текст Python?

  • 1 подписчик
  • 35 минут назад
  • 30 просмотров

Как удалить скобки из строки python

Чтобы удалить один или несколько одинаковых символов можно воспользоваться методом строки .replace() .

s = '(foo(bazz(' # '(foo(bazz' s = s.replace('(', '') # 'foobazz' 

Но если символы разные, то придется проходить несколько раз, каждый раз с новым символом для замены, что совсем неудобно. Тут можно либо применить регулярные выражения:

import re # Обратите внимание, нам нужно экранировать скобки, # чтобы различить их от синтаксиса регулярных выражений braces = r'[\(\)]' s = '(foo)(bazz)()' # '(foo)(bazz)()' s = re.sub(braces, '', s) # 'foobazz' 

Либо обойти строку и собрать новую из всех символов, кроме тех что хотим удалить:

braces = '(', ')'> # s = '(foo)(bazz)()' # '(foo)(bazz)()' s = ''.join(ch for ch in s if ch not in braces) # 'foobazz' 

Python — убрать все символы из слов, кроме букв — оптимизация

Требуется теперь очистить все символы в словах кроме букв и кроме дефисов внутри слов. Применил такую логику — ищем первую букву в начале слова и последнюю в конце, это и является началом и концом очищенного слова. Мне кажется немного топорное решение, может есть более интересные или упрощенные варианты? Через регулярное выражение, как понимаю, не получится, так как тогда внутри слова уберутся дефисы. Написал следующий код.

Отслеживать

задан 18 дек 2020 в 6:48

193 1 1 серебряный знак 9 9 бронзовых знаков

Мне кажется, предложенный алгоритм не справится со строкой «П_Р_И_В_Е_Т»

18 дек 2020 в 6:58

В данном случае моя цель проверить грамотность текста, т.е. наличие слова в словаре. Слово «П_Р_И_В_Е_Т» заведомо написано с ошибкой, поэтому мне это допущение как раз подходит.

5 простых способов удалить символ из строки

Существует несколько методов, позволяющих удалить определенный символ из строки:

  • Примитивный метод.
  • Функция replace().
  • Срезы и конкатенация.
  • Метод join() и генератор списков.
  • Метод translate()

Важная деталь — строки в Python неизменяемы. Исходная строка останется нетронутой, а новую вернут методы, о которых написано выше.

Задачи по строкам и решения к ним у нас в телеграм канале PythonTurbo

1. Примитивный метод удаления символа из строки

Суть этого метода проста. Мы пишем цикл и создаем новую пустую строку. Цикл работает так: все символы кроме элемента с индексом n помещаются в новую строку. ( n — индекс элемента, который нам нужно удалить)

input_str = "pythonist" # Выводим в консоль исходную строку print ("Исходная строка: " + input_str) result_str = "" for i in range(0, len(input_str)): if i != 3: result_str = result_str + input_str[i] # Выводим в консоль строку после удаления i-го элемента print ("Строка после удаления i-го элемента: " + result_str)
Исходная строка: pythonist Строка после удаления i-го элемента: pytonist

2. Удаление элемента из строки с помощью метода replace()

str = "pythonist" print ("Исходная строка: " + str) res_str = str.replace('t', '') # Удаление всех 't' print("Строка после удаления всех символов t: " + res_str) # Удаление только первой t res_str = str.replace('t', '', 1) print ("Строка после удаления первого t: " + res_str)
Исходная строка: pythonist Строка после удаления всех символов t: pyhonis Строка после удаления первого t: pyhonist

Мини-задачка для вашей тренировки метода replace()

«Напишите программу на Python для получения строки из заданной строки, в которой все вхождения первого символа заменены на ‘$’, кроме самого первого символа.»

Пример: print(change_char(‘restart’))
»»» resta$t

Решение задачки можно глянуть у нас в канале

3. Удаление символа с помощью срезов и конкатенации

str = "pythonist" print ("Исходная строка: " + str) # Удаляем элемент с индексом 3 # с помощью срезов и объединения res_str = str[:3] + str[4:] print ("Строка после удаления символа: " + res_str
Исходная строка: pythonist Строка после удаления символа: pytonist

4. Удаление символа с помощью метода join() и генераторов списков

Суть этого метода в том, чтобы конвертировать строку в эквивалентный список. После этого все элементы кроме того, который мы собираемся удалить, объединяются в строку.

str = "pythonist" print("Исходная строка: " + str) # Удаление элемента с индексом 2 # с помощью join() и генератора списков res_str = ''.join([str[i] for i in range(len(str)) if i != 2]) print("Строка после удаления символа: " + res_str)
Исходная строка: pythonist Строка после удаления символа: pyhonist

5. Удаление символа из строки с помощью метода translate()

str = 'pythonist123pythonist' print(str.translate())

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *