πŸ”₯ Как с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ лишниС символы Python

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² Python ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ лишниС символы. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°:

import re

# Π˜ΡΡ…ΠΎΠ΄Π½Π°Ρ строка
text = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚!!! Как Π΄Π΅Π»Π°???"

# УдаляСм всС символы ΠΊΡ€ΠΎΠΌΠ΅ Π±ΡƒΠΊΠ² ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ²
clean_text = re.sub(r"[^a-zA-Zа-яА-Я\s]", "", text)

print(clean_text)

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ re для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с рСгулярными выраТСниями. Ѐункция re.sub() позволяСт Π·Π°ΠΌΠ΅Π½ΡΡ‚ΡŒ подстроки, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ, Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ строку. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС, ΠΌΡ‹ Π·Π°Π΄Π°Π΅ΠΌ шаблон [^a-zA-ZΠ°-яА-Π―\s] для поиска всСх символов, Π½Π΅ ΡΠ²Π»ΡΡŽΡ‰ΠΈΡ…ΡΡ Π±ΡƒΠΊΠ²Π°ΠΌΠΈ ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ, ΠΈ замСняСм ΠΈΡ… Π½Π° ΠΏΡƒΡΡ‚ΡƒΡŽ строку.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ clean_text Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ строка Π±Π΅Π· Π»ΠΈΡˆΠ½ΠΈΡ… символов.

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

Как с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ лишниС символы Π² Python

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ строковых Π΄Π°Π½Π½Ρ‹Ρ…. Одна ΠΈΠ· распространСнных Π·Π°Π΄Π°Ρ‡ - ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π»ΠΈΡˆΠ½ΠΈΡ… символов ΠΈΠ· тСкста. Для выполнСния этой Π·Π°Π΄Π°Ρ‡ΠΈ Π² Python ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ рСгулярныС выраТСния.

РСгулярныС выраТСния - это ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с тСкстовыми Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π½Π°ΠΌ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ символов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π½Π°ΠΉΡ‚ΠΈ ΠΈΠ»ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ. Π’ Python для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с рСгулярными выраТСниями ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ re.

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ для удалСния Π»ΠΈΡˆΠ½ΠΈΡ… символов.

1. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ†ΠΈΡ„Ρ€ ΠΈΠ· строки

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρƒ нас Π΅ΡΡ‚ΡŒ строка, содСрТащая ΠΊΠ°ΠΊ Π±ΡƒΠΊΠ²Ρ‹, Ρ‚Π°ΠΊ ΠΈ Ρ†ΠΈΡ„Ρ€Ρ‹:

text = "ΠŸΡ€ΠΈΠΌΠ΅Ρ€123 строки456 с789 Ρ†ΠΈΡ„Ρ€Π°ΠΌΠΈ"

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всС Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΈΠ· этой строки, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ re.sub(). ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ - это рСгулярноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅Π΅ шаблон символов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ. Π’ нашСм случаС это Ρ†ΠΈΡ„Ρ€Ρ‹, прСдставлСнныС ΠΊΠ°ΠΊ \d. Π’Ρ‚ΠΎΡ€ΠΎΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ - это строка, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹Π΅ символы, Π² нашСм случаС пустая строка "". Π’Ρ€Π΅Ρ‚ΠΈΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ - это сама строка, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ.

import re

text = "ΠŸΡ€ΠΈΠΌΠ΅Ρ€123 строки456 с789 Ρ†ΠΈΡ„Ρ€Π°ΠΌΠΈ"
cleaned_text = re.sub(r"\d", "", text)
print(cleaned_text)

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния ΠΊΠΎΠ΄Π°:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ строки с Ρ†ΠΈΡ„Ρ€Π°ΠΌΠΈ

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ ΡƒΠ΄Π°Π»ΠΈΠ»ΠΈ всС Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΈΠ· строки ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΎΡ‡ΠΈΡ‰Π΅Π½Π½Ρ‹ΠΉ тСкст с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ рСгулярного выраТСния.

2. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π·Π½Π°ΠΊΠΎΠ² прСпинания ΠΈΠ· строки

Π”Ρ€ΡƒΠ³ΠΎΠΉ распространСнный случай - ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π·Π½Π°ΠΊΠΎΠ² прСпинания ΠΈΠ· тСкста. Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊ это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с использованиСм рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ:

import re

text = "ΠŸΡ€ΠΈΠΌΠ΅Ρ€. строки! с? Π·Π½Π°ΠΊΠ°ΠΌΠΈ, прСпинания;"
cleaned_text = re.sub(r"[^\w\s]", "", text)
print(cleaned_text)

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния ΠΊΠΎΠ΄Π°:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ строки с Π·Π½Π°ΠΊΠ°ΠΌΠΈ прСпинания

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ использовали рСгулярноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ [^\w\s]. Π­Ρ‚ΠΎ шаблон, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° любой символ, Π½Π΅ ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ Π±ΡƒΠΊΠ²ΠΎΠΉ, Ρ†ΠΈΡ„Ρ€ΠΎΠΉ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠΌ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ Π·Π°ΠΌΠ΅Π½ΠΈΠ»ΠΈ всС Π·Π½Π°ΠΊΠΈ прСпинания Π½Π° ΠΏΡƒΡΡ‚ΡƒΡŽ строку ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΎΡ‡ΠΈΡ‰Π΅Π½Π½Ρ‹ΠΉ тСкст Π±Π΅Π· Π·Π½Π°ΠΊΠΎΠ² прСпинания.

3. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π»ΠΈΡˆΠ½ΠΈΡ… ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² ΠΈΠ· строки

Иногда Π½Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ лишниС ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈΠ· тСкста. Для этого ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ рСгулярноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ \s+, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ²:

import re

text = "ΠŸΡ€ΠΈΠΌΠ΅Ρ€     строки    с    лишними     ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ"
cleaned_text = re.sub(r"\s+", " ", text)
print(cleaned_text)

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния ΠΊΠΎΠ΄Π°:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ строки с лишними ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ Π·Π°ΠΌΠ΅Π½ΠΈΠ»ΠΈ всС ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΎΠ±Π΅Π», Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΡƒΠ΄Π°Π»ΠΈΠ² лишниС ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ² ΠΎΡ‡ΠΈΡ‰Π΅Π½Π½Ρ‹ΠΉ тСкст.

РСгулярныС выраТСния - это ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ тСкста Π² Python. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π½Π°ΠΌ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΡŽ ΠΈΠ»ΠΈ Π·Π°ΠΌΠ΅Π½Π΅ символов, Π² зависимости ΠΎΡ‚ Π½Π°ΡˆΠΈΡ… потрСбностСй. НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ re, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

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

ΠžΡΠ½ΠΎΠ²Ρ‹ РСгулярных Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π’ Python | ΠœΠΎΠ΄ΡƒΠ»ΡŒ re

Как ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ послСдний (ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ) символ Π² строкС Python

НС Π±ΠΎΠΉΡ‚Π΅ΡΡŒ рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Regex Π·Π° 20 ΠΌΠΈΠ½ΡƒΡ‚!

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

πŸ”§ Как ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ строку Π² txt Ρ„Π°ΠΉΠ»Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python

🐍 Как читаСтся python Π½Π° английском языкС? Π£Π·Π½Π°ΠΉΡ‚Π΅ прямо сСйчас! 🌍

πŸ”Ž Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Ρ€Π΅Ρ‚Π΅Ρ€Π½ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅: ΠΏΠΎΠ»Π½ΠΎΠ΅ объяснСниС ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

πŸ”₯ Как с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ лишниС символы Python

Как Π½Π°ΠΉΡ‚ΠΈ Π·Π°Π³Π»Π°Π²Π½ΡƒΡŽ Π±ΡƒΠΊΠ²Ρƒ Π² строкС ΠΏΠΈΡ‚ΠΎΠ½? πŸ“’ ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ совСты ΠΈ инструкции!

🐍 Anaconda Python: Как ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ?

πŸ” Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ количСство столбцов Π² ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ python?