πŸ”§ Как Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΄Π²Π° ΠΏΡ€ΠΎΠ±Π΅Π»Π° Π½Π° ΠΎΠ΄ΠΈΠ½ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python

Для Π·Π°ΠΌΠ΅Π½Ρ‹ Π΄Π²ΡƒΡ… ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² Π½Π° ΠΎΠ΄ΠΈΠ½ Π² Python ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ replace. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:


text = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚  ΠΌΠΈΡ€!"
new_text = text.replace("  ", " ")
print(new_text)

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ всС вхоТдСния Π΄Π²ΡƒΡ… ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΎΠ±Π΅Π» Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ text ΠΈ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

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

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

Как Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΄Π²Π° ΠΏΡ€ΠΎΠ±Π΅Π»Π° Π½Π° ΠΎΠ΄ΠΈΠ½ Π² Python?

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

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

Один ΠΈΠ· самых простых способов Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΄Π²Π° ΠΏΡ€ΠΎΠ±Π΅Π»Π° Π½Π° ΠΎΠ΄ΠΈΠ½ - ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ replace(). Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ доступСн для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ‚ΠΈΠΏΠ° str ΠΈ позволяСт Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ всС вхоТдСния ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ подстроки Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ подстроку.

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

print(new_text) # "ΠŸΡ€ΠΈΠ²Π΅Ρ‚ ΠΌΠΈΡ€! Как Π΄Π΅Π»Π°?"

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создали ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ text, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ строку с Π΄Π²ΠΎΠΉΠ½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ replace() ΠΊ этой строкС, ΡƒΠΊΠ°Π·Π°Π² Π΄Π²Π° ΠΏΡ€ΠΎΠ±Π΅Π»Π° Π² качСствС подстроки для Π·Π°ΠΌΠ΅Π½Ρ‹ ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΎΠ±Π΅Π» Π² качСствС Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‰Π΅ΠΉ подстроки. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ выполнСния ΠΌΠ΅Ρ‚ΠΎΠ΄Π° стало Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ new_text, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ содСрТит ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡƒΡŽ строку Π±Π΅Π· Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ².

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

Если Ρƒ вас Π΅ΡΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ слоТныС трСбования ΠΊ Π·Π°ΠΌΠ΅Π½Π΅ Π΄Π²ΡƒΡ… ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² Π½Π° ΠΎΠ΄ΠΈΠ½ - Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²Π° ΠΏΡ€ΠΎΠ±Π΅Π»Π°, Π½ΠΎ Π½Π΅ Π±ΠΎΠ»Π΅Π΅, ΠΈΠ»ΠΈ Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ Π² Π½Π°Ρ‡Π°Π»Π΅ строки - Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ рСгулярныС выраТСния.

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с рСгулярными выраТСниями Π² Python Π½Π°ΠΌ понадобится ΠΌΠΎΠ΄ΡƒΠ»ΡŒ re. ΠœΠΎΠ΄ΡƒΠ»ΡŒ re прСдоставляСт Π½Π°Π±ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с рСгулярными выраТСниями, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ sub() для Π·Π°ΠΌΠ΅Π½Ρ‹ подстроки, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ, Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ подстроку.

import re

text = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚  ΠΌΠΈΡ€!  Как Π΄Π΅Π»Π°?" 
new_text = re.sub(r"\s\s", " ", text)

print(new_text) # "ΠŸΡ€ΠΈΠ²Π΅Ρ‚ ΠΌΠΈΡ€! Как Π΄Π΅Π»Π°?"

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ re ΠΈ создали ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ text с исходной строкой. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ использовали Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ sub() ΠΈΠ· модуля re, ΠΏΠ΅Ρ€Π΅Π΄Π°Π² Π² Π½Π΅Π΅ шаблон "\s\s", ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ соотвСтствуСт Π΄Π²ΡƒΠΌ ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌ. Π’ качСствС Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‰Π΅ΠΉ подстроки ΠΌΡ‹ ΡƒΠΊΠ°Π·Π°Π»ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΎΠ±Π΅Π». Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ выполнСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ стало Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ new_text, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ содСрТит ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡƒΡŽ строку Π±Π΅Π· Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ².

3. Π‘ использованиСм ΠΌΠ΅Ρ‚ΠΎΠ΄Π° split() ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° join()

Π”Ρ€ΡƒΠ³ΠΎΠΉ способ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΄Π²Π° ΠΏΡ€ΠΎΠ±Π΅Π»Π° Π½Π° ΠΎΠ΄ΠΈΠ½ - это ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² split() ΠΈ join(). ΠœΠ΅Ρ‚ΠΎΠ΄ split() позволяСт Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ строку Π½Π° список подстрок ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŽ, Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ join() ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ элСмСнты списка Π² ΠΎΠ΄Π½Ρƒ строку, вставляя ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ элСмСнтами.

text = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚  ΠΌΠΈΡ€!  Как Π΄Π΅Π»Π°?"
new_text = " ".join(text.split())

print(new_text) # "ΠŸΡ€ΠΈΠ²Π΅Ρ‚ ΠΌΠΈΡ€! Как Π΄Π΅Π»Π°?"

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ использовали ΠΌΠ΅Ρ‚ΠΎΠ΄ split() для раздСлСния строки text Π½Π° список подстрок ΠΏΠΎ ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌ. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ использовали ΠΌΠ΅Ρ‚ΠΎΠ΄ join() для объСдинСния элСмСнтов списка с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΠ±Π΅Π»Π° Π² качСствС раздСлитСля. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Π½ΠΎΠ²ΡƒΡŽ строку new_text, которая содСрТит ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡƒΡŽ строку Π±Π΅Π· Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ².

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

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли нСсколько способов Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΄Π²Π° ΠΏΡ€ΠΎΠ±Π΅Π»Π° Π½Π° ΠΎΠ΄ΠΈΠ½ Π² Python. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ подходящий способ Π² зависимости ΠΎΡ‚ Π²Π°ΡˆΠΈΡ… Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠΉ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ replace() для простых Π·Π°ΠΌΠ΅Π½, рСгулярныС выраТСния для Π±ΠΎΠ»Π΅Π΅ слоТных Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ, ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² split() ΠΈ join() для ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ раздСлСния ΠΈ объСдинСния строк. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ эффСктивно Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΄Π²Π° ΠΏΡ€ΠΎΠ±Π΅Π»Π° Π½Π° ΠΎΠ΄ΠΈΠ½ Π² Python!

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

Как ввСсти Π΄Π²Π° числа Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ±Π΅Π» Π² Python

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ ΠΈ ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ | Python | split join replace find rfind

ΠœΠ΅Ρ‚ΠΎΠ΄ split ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ join Python

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

πŸ” Как вывСсти Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΠΈΡ‚ΠΎΠ½Π° Π² консоль?

️️️️️Как пСрСвСсти слово Π² Π½ΠΈΠΆΠ½ΠΈΠΉ рСгистр с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python?️️️️️

πŸ”’ Как ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» Π² Python: простоС ΠΈ эффСктивноС руководство

πŸ”§ Как Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΄Π²Π° ΠΏΡ€ΠΎΠ±Π΅Π»Π° Π½Π° ΠΎΠ΄ΠΈΠ½ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python

πŸ”’ Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ массив ΠΈΠ· Ρ€Π°Π½Π΄ΠΎΠΌΠ½Ρ‹Ρ… чисСл Π½Π° Python?

πŸ”§ Как ΠΏΠΎΠ½ΠΈΠ·ΠΈΡ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ ΠŸΠΈΡ‚ΠΎΠ½Π° Π² PyCharm? 🐍

πŸ”Œ Как ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python: ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ совСты ΠΈ инструкции