⌨️🐍 Как оставить только цифры в строке с помощью Python? 🧮

В Python существует несколько способов оставить в строке только цифры. Вот несколько примеров:

import re

# 1. С помощью регулярных выражений
string = "abc123xyz"
digits_only = re.sub("\D", "", string)
print(digits_only)  # Выводит: 123

# 2. С помощью цикла и метода isdigit()
string = "abc123xyz"
digits_only = ""
for char in string:
    if char.isdigit():
        digits_only += char
print(digits_only)  # Выводит: 123

# 3. С помощью генератора списка и метода isdigit()
string = "abc123xyz"
digits_only = [char for char in string if char.isdigit()]
digits_only = "".join(digits_only)
print(digits_only)  # Выводит: 123

Детальный ответ

Как в строке оставить только цифры python

В Python есть несколько способов оставить только цифры в строке. Здесь я расскажу о двух наиболее распространенных подходах с примерами кода.

1. Использование регулярных выражений

Регулярные выражения - это мощный инструмент для работы с текстом в Python. Их можно использовать для фильтрации и извлечения конкретных паттернов, включая цифры.

Чтобы оставить только цифры в строке, можно использовать модуль re и функцию sub(), которая заменит все нецифровые символы на пустую строку:


import re

def keep_only_digits(text):
    return re.sub(r'\D', '', text)

В данном примере, функция keep_only_digits() принимает текстовую строку text и с помощью регулярного выражения \D заменяет все символы, не являющиеся цифрами, на пустую строку. Функция возвращает полученный результат.

Пример использования функции:


text = "Пример строки со включенными 123 цифрами и ^ специальными символами"
digits_only = keep_only_digits(text)
print(digits_only)  # Выводит: 123

2. Итерация по символам строки

Второй способ заключается в итерации по символам строки и проверке, является ли каждый символ цифрой с помощью метода isdigit(). Если символ является цифрой, то он добавляется в новую строку. В конце процесса получается строка только из цифр.


def keep_only_digits(text):
    result = ""
  
    for char in text:
        if char.isdigit():
            result += char
  
    return result

В данном примере, функция keep_only_digits() принимает текстовую строку text и в цикле проходит по всем символам. Если символ является цифрой, он добавляется в переменную result. В конце функция возвращает полученную строку из цифр.

Пример использования функции:


text = "Пример строки со включенными 123 цифрами и ^ специальными символами"
digits_only = keep_only_digits(text)
print(digits_only)  # Выводит: 123

В заключение

Теперь у вас есть два основных подхода для того, чтобы оставить только цифры в строке в Python. Вы можете выбрать тот, который наиболее удобен для вас и подходит для вашей конкретной ситуации.

Видео по теме

Python l Извлечение цифр из строки ( поиск чисел в строке)

Python найти все числа в строке | Python практика | урок 12

Фильтрация списков Python. Как оставить в списке только числа состоящие из двух значений

Похожие статьи:

✍️ Что такое R Python и зачем это нужно? 🐍

🔧 Как установить Питон Винг: подробная инструкция для начинающих

🚀Как построить маршрут python: подробное руководство с примерами и советами🔍

⌨️🐍 Как оставить только цифры в строке с помощью Python? 🧮

🚀 Как обновить pandas python: простые шаги и инструкции 🐼

Как комментировать несколько строк в Python PyCharm? ✍️

🔍 Как эффективно разделить список на несколько частей с помощью Python?