πŸ”§ Как ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всС Π·Π½Π°ΠΊΠΈ прСпинания Π² Python? πŸš€

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всС Π·Π½Π°ΠΊΠΈ прСпинания Π² Python, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ рСгулярныС выраТСния ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ translate().

Для использования рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ 're'.


import re

text = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΌΠΈΡ€! Как Π΄Π΅Π»Π°?"

# Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ рСгулярноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ для удалСния Π·Π½Π°ΠΊΠΎΠ² прСпинания
text_without_punctuations = re.sub(r'[^\w\s]', '', text)

print(text_without_punctuations)
    

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ translate(), Ρ‚ΠΎ сначала Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ трансляции, которая Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ всС Π·Π½Π°ΠΊΠΈ прСпинания, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ.


import string

text = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΌΠΈΡ€! Как Π΄Π΅Π»Π°?"

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ трансляции, ΡƒΠ΄Π°Π»ΡΡŽΡ‰ΡƒΡŽ Π·Π½Π°ΠΊΠΈ прСпинания
translator = str.maketrans('', '', string.punctuation)

# ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ трансляции ΠΊ тСксту
text_without_punctuations = text.translate(translator)

print(text_without_punctuations)
    

Оба эти ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всС Π·Π½Π°ΠΊΠΈ прСпинания ΠΈΠ· тСкста Π² Python.

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

Как ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всС Π·Π½Π°ΠΊΠΈ прСпинания Π² Python

ΠŸΡ€ΠΈΠ²Π΅Ρ‚! БСгодня расскаТу Ρ‚Π΅Π±Π΅, ΠΊΠ°ΠΊ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всС Π·Π½Π°ΠΊΠΈ прСпинания Π² Python. Π—Π΄Π΅ΡΡŒ я ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡŽ нСсколько способов, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚Ρ‹ ΠΌΠΎΠ³ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ подходящий для своСй Π·Π°Π΄Π°Ρ‡ΠΈ.

1. ΠœΠ΅Ρ‚ΠΎΠ΄ replace()

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ способ - использованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° replace(). Для удалСния Π·Π½Π°ΠΊΠΎΠ² прСпинания, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΡ… Π½Π° ΠΏΡƒΡΡ‚ΡƒΡŽ строку. Но Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π·Π½Π°ΠΊ прСпинания ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π½ΡƒΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ Π·Π°ΠΌΠ΅Π½Ρƒ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠ°.


text = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΌΠΈΡ€!"
punctuation = [",", ".", "!", "?"]
for char in punctuation:
    text = text.replace(char, "")
print(text)
    

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

ΠŸΡ€ΠΈΠ²Π΅Ρ‚ ΠΌΠΈΡ€

Как видишь, ΠΌΠ΅Ρ‚ΠΎΠ΄ replace() позволяСт Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π·Π½Π°ΠΊ прСпинания Π½Π° ΠΏΡƒΡΡ‚ΡƒΡŽ строку. Однако, Ссли Ρƒ тСбя ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠ² прСпинания, ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠΈΠΌ.

2. РСгулярныС выраТСния

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


import re

text = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΌΠΈΡ€!"
text = re.sub(r'[^\w\s]', '', text)
print(text)
    

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

ΠŸΡ€ΠΈΠ²Π΅Ρ‚ ΠΌΠΈΡ€

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ использовали Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ [^\w\s], Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π° всС символы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π±ΡƒΠΊΠ²Π°ΠΌΠΈ, Ρ†ΠΈΡ„Ρ€Π°ΠΌΠΈ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ. Ѐункция re.sub() замСняСт Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹Π΅ символы Π½Π° ΠΏΡƒΡΡ‚ΡƒΡŽ строку.

3. ΠœΠΎΠ΄ΡƒΠ»ΡŒ string

Π’Ρ€Π΅Ρ‚ΠΈΠΉ способ - использованиС модуля string. Π’ Python, ΠΌΠΎΠ΄ΡƒΠ»ΡŒ string прСдоставляСт Π½Π°Π±ΠΎΡ€ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… констант ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ translate() совмСстно с ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ maketrans(), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π·Π½Π°ΠΊΠΈ прСпинания ΠΈΠ· тСкста.


import string

text = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΌΠΈΡ€!"
translator = text.maketrans('', '', string.punctuation)
text = text.translate(translator)
print(text)
    

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

ΠŸΡ€ΠΈΠ²Π΅Ρ‚ ΠΌΠΈΡ€

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

4. ИспользованиС списковых Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ (List comprehension)

Π§Π΅Ρ‚Π²Π΅Ρ€Ρ‚Ρ‹ΠΉ способ - использованиС списковых Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ (List comprehension). Π­Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΉ ΠΈ элСгантный способ удалСния Π·Π½Π°ΠΊΠΎΠ² прСпинания ΠΈΠ· тСкста.


import string

text = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΌΠΈΡ€!"
text = ''.join([char for char in text if char not in string.punctuation])
print(text)
    

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

ΠŸΡ€ΠΈΠ²Π΅Ρ‚ ΠΌΠΈΡ€

Π’ списковом Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΌΡ‹ проходимся ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ символу Π² тСкстС ΠΈ добавляСм Π΅Π³ΠΎ ΠΊ Π½ΠΎΠ²ΠΎΠΉ строкС, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли ΠΎΠ½ Π½Π΅ являСтся Π·Π½Π°ΠΊΠΎΠΌ прСпинания.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли нСсколько способов удалСния Π·Π½Π°ΠΊΠΎΠ² прСпинания Π² Python. Π’Ρ‹ моТСшь Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ для сСбя способ Π² зависимости ΠΎΡ‚ Ρ‚Π²ΠΎΠΈΡ… потрСбностСй.

Π£Π΄Π°Ρ‡ΠΈ Π² ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ Python ΠΈ программирования Π² Ρ†Π΅Π»ΠΎΠΌ! НадСюсь, эта ΡΡ‚Π°Ρ‚ΡŒΡ Π±Ρ‹Π»Π° ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ для тСбя.

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

Python l ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ элСмСнта ΠΈΠ· списка

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ элСмСнтов списка ΠΏΠΎ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ. РСшСниС Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π° Python

ΠΊΠ°ΠΊ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ python

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

πŸ–ŠοΈ Как Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ крСстики-Π½ΠΎΠ»ΠΈΠΊΠΈ Π½Π° Python: ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство

πŸ”Ž Как ввСсти мноТСство Π² Python: простоС руководство ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°

πŸ” Как ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π΄ΡƒΠ±Π»ΠΈ Π² спискС python: простыС способы ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠΉ

πŸ”§ Как ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всС Π·Π½Π°ΠΊΠΈ прСпинания Π² Python? πŸš€

πŸ”Ž Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ HTML ΠΊΠΎΠ΄ страницы с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Python Requests?

πŸ” Как ΠΏΠ°Ρ€ΡΠΈΡ‚ΡŒ txt Π² python: простой ΠΈ эффСктивный ΠΏΠΎΠ΄Ρ…ΠΎΠ΄! πŸ‘¨β€πŸ’»

ΠšΡ‚ΠΎ большС Π·Π°Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚: Python ΠΈΠ»ΠΈ JavaScript? πŸ’°πŸ“ˆ