πŸ” Как ΠΈΠ· строки Π²Π·ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†ΠΈΡ„Ρ€Ρ‹ Π² Python: ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π³ΠΈΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Π§Ρ‚ΠΎΠ±Ρ‹ Π²Π·ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΈΠ· строки Π² Python, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ isdigit() Π² ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ с Ρ†ΠΈΠΊΠ»ΠΎΠΌ.


string = "Hello123"
digits = ''
for char in string:
    if char.isdigit():
        digits += char

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ digits Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΈΠ· исходной строки.

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как ΠΈΠ· строки Π²Π·ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†ΠΈΡ„Ρ€Ρ‹ Π² Python?

Π’ случаС, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΈΠ· строки Π² Python, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°ΠΌΠΈ ΠΈ встроСнными ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ. НиТС прСдставлСны нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°.

1. ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° isdecimal()

ΠœΠ΅Ρ‚ΠΎΠ΄ isdecimal() позволяСт ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, являСтся Π»ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ символ строки дСсятичной Ρ†ΠΈΡ„Ρ€ΠΎΠΉ. Если символ являСтся Ρ†ΠΈΡ„Ρ€ΠΎΠΉ, ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ True, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС - False.


string = "abc123def456"
digits = ""

for char in string:
    if char.isdecimal():
        digits += char

print(digits)
    

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создаСм Π½ΠΎΠ²ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ digits, которая Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΈΠ· исходной строки string. ΠœΡ‹ проходимся ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ символу строки ΠΈ провСряСм, являСтся Π»ΠΈ ΠΎΠ½ дСсятичной Ρ†ΠΈΡ„Ρ€ΠΎΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° isdecimal(). Если символ являСтся Ρ†ΠΈΡ„Ρ€ΠΎΠΉ, ΠΌΡ‹ добавляСм Π΅Π³ΠΎ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ digits. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ строку, ΡΠΎΡΡ‚ΠΎΡΡ‰ΡƒΡŽ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· Ρ†ΠΈΡ„Ρ€ "123456".

2. ИспользованиС рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

Π”Ρ€ΡƒΠ³ΠΎΠΉ способ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΈΠ· строки - это использованиС модуля re (рСгулярныС выраТСния). ΠœΠΎΠ΄ΡƒΠ»ΡŒ re прСдоставляСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ findall(), которая позволяСт Π½Π°ΠΉΡ‚ΠΈ всС совпадСния с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ шаблоном Π² строкС.


import re

string = "abc123def456"
digits = re.findall(r'\d', string)

print("".join(digits))
    

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ рСгулярноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ \d, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ прСдставляСт собой шаблон для поиска любой дСсятичной Ρ†ΠΈΡ„Ρ€Ρ‹. Ѐункция re.findall() Π½Π°ΠΉΠ΄Π΅Ρ‚ всС Ρ†ΠΈΡ„Ρ€Ρ‹ Π² строкС string ΠΈ Π²Π΅Ρ€Π½Π΅Ρ‚ список. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ объСдиняСм элСмСнты списка с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° join() ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ "123456".

3. ИспользованиС Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° списков

Π’Ρ€Π΅Ρ‚ΠΈΠΉ способ - использованиС Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° списков. Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ списков ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Π°ΠΌ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ списки Π½Π° основС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… условий.


string = "abc123def456"
digits = [char for char in string if char.isdigit()]

print("".join(digits))
    

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ создаСм Π½ΠΎΠ²Ρ‹ΠΉ список digits, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт Π±ΡƒΠ΄Π΅Ρ‚ символом ΠΈΠ· исходной строки string, Ссли этот символ являСтся Ρ†ΠΈΡ„Ρ€ΠΎΠΉ (с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° isdigit()). Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ объСдиняСм элСмСнты списка с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° join() ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ "123456".

4. ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° filter()

Π’ Python Ρ‚Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ функция filter(), которая позволяСт Π²Π°ΠΌ ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ элСмСнты ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½Π° основС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ условия.


string = "abc123def456"
digits = filter(str.isdigit, string)

print("".join(digits))
    

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ isdigit() Π² качСствС Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ filter(). Ѐункция filter() примСняСт Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ символу строки string ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ символы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ†ΠΈΡ„Ρ€Π°ΠΌΠΈ. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ объСдиняСм символы с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° join() ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ "123456".

5. ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° translate()

ΠœΠ΅Ρ‚ΠΎΠ΄ translate() позволяСт Π²Π°ΠΌ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ символы ΠΈΠ· строки. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ для удалСния всСх символов, ΠΊΡ€ΠΎΠΌΠ΅ Ρ†ΠΈΡ„Ρ€.


string = "abc123def456"
digits = string.translate(str.maketrans("", "", "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"))

print(digits)
    

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создаСм ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° maketrans(), указывая символы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ. ΠœΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ пустыС строки Π² качСствС ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π΄Π²ΡƒΡ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ символы. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ translate() для примСнСния словаря ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° ΠΊ строкС string ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ "123456".

6. ИспользованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ regex

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ - использованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ regex, которая ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ возмоТности для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с рСгулярными выраТСниями.


import regex

string = "abc123def456"
digits = regex.findall(r'\d', string, regex.VERSION1)

print("".join(digits))
    

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ regex ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ findall() с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ regex.VERSION1, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ совмСстимости. Π”Π°Π»ΡŒΡˆΠ΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ рСгулярноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ \d для поиска Ρ†ΠΈΡ„Ρ€ Π² строкС string ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ список. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ объСдиняСм элСмСнты списка с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° join() ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ "123456".

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этих способов Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΈΠ· строки Π² Python, Π² зависимости ΠΎΡ‚ Π²Π°ΡˆΠΈΡ… ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠΉ ΠΈ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ.

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

Π˜Π·Π²Π»Π΅Ρ‡ΡŒ ΠΈΠ· строки числа. РСшСниС Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π° Python

Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список чисСл ΠΈΠ· строки. Python. АлСксандр ΠšΠΈΠ»ΠΈΠ½ΠΊΠ°Ρ€ΠΎΠ²

Python l Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ Ρ†ΠΈΡ„Ρ€ ΠΈΠ· строки ( поиск чисСл Π² строкС)

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

Какой Python Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Windows 7?

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ subprocess python: ΠΏΠΎΠ»Π½ΠΎΠ΅ руководство с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΈ упраТнСниями

Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ceil Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅? Π£Π·Π½Π°ΠΉΡ‚Π΅ всю Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ здСсь! 🐍

πŸ” Как ΠΈΠ· строки Π²Π·ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†ΠΈΡ„Ρ€Ρ‹ Π² Python: ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π³ΠΈΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

πŸ” Как ΡƒΠ·Π½Π°Ρ‚ΡŒ количСство ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² Π² строкС Python?

🧹Как ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ экран консоли Python: 6 простых способовπŸ–₯

πŸ”Ž Как Π½Π°ΠΉΡ‚ΠΈ диагональ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ python | ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ руководство