Π Π°Π±ΠΎΡ‚Π° со строками Π² 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ часто Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ нСстандартных манипуляций β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ тСкст ΠΎΡ‚ всСх Π±ΡƒΠΊΠ²Π΅Π½Π½Ρ‹Ρ… символов, оставив Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†ΠΈΡ„Ρ€Ρ‹, Π·Π½Π°ΠΊΠΈ прСпинания ΠΈΠ»ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ символы. Π­Ρ‚Π° Π·Π°Π΄Π°Ρ‡Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Π²Π½Π΅ΡˆΠ½ΠΈΡ… источников, парсингС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ΅ строк для экспорта ΠΈΠ»ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ². Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… языков программирования, Π³Π΄Π΅ для Ρ‚Π°ΠΊΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π΅ΡΡ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π² 1Π‘ приходится ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ встроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΠΈΡΠ°Ρ‚ΡŒ собствСнныС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ 5 Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… способов удалСния Π±ΡƒΠΊΠ² ΠΈΠ· строки β€” ΠΎΡ‚ элСмСнтарных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² с использованиСм Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ() Π΄ΠΎ слоТных рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΏΠΎ символам. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ сопровоТдён практичСский ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ ΠΊΠΎΠ΄Π° с пояснСниями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ сразу Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ свою ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ. ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡƒΠ΄Π΅Π»Π΅Π½ΠΎ нюансам Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Π΅ΠΉ, Π»Π°Ρ‚ΠΈΠ½ΠΈΡ†Π΅ΠΉ ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ символами, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΡ‘ΠΌΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ….

1. ΠœΠ΅Ρ‚ΠΎΠ΄ 1: Посимвольная ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ ΠΊΠΎΠ΄Π° символа

Π‘Π°ΠΌΡ‹ΠΉ Π½Π°Π΄Ρ‘ΠΆΠ½Ρ‹ΠΉ, Π½ΠΎ ΠΈ самый рСсурсоёмкий способ β€” ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ строки ΠΏΠΎ символам с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ ΠΈΡ… принадлСТности ΠΊ Π°Π»Ρ„Π°Π²ΠΈΡ‚Ρƒ. Π’ 1Π‘ для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ функция КодБимв(), которая Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ числовой ΠΊΠΎΠ΄ символа Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Unicode. Π‘ΡƒΠΊΠ²Ρ‹ ΠΊΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Ρ‹ ΠΈ Π»Π°Ρ‚ΠΈΠ½ΠΈΡ†Ρ‹ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ Π² Π½Π΅ΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹, Ρ‡Ρ‚ΠΎ позволяСт Π»Π΅Π³ΠΊΠΎ ΠΈΡ… ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° β€” 100% ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ символы Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹. НапримСр, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΈΠ»ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ Π·Π½Π°ΠΊΠΈ прСпинания. НСдостаток β€” низкая ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… строк (тысячи символов).

  • βœ… ΠŸΠ»ΡŽΡΡ‹: максимальная Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π²ΠΎ всСх вСрсиях 1Π‘ (8.2, 8.3).
  • ❌ ΠœΠΈΠ½ΡƒΡΡ‹: ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ указания Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² ΠΊΠΎΠ΄ΠΎΠ².
  • πŸ”Ή Когда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ: для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… строк ΠΈΠ»ΠΈ ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½Π° точная Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ символов.
Ѐункция Π£Π΄Π°Π»ΠΈΡ‚ΡŒΠ‘ΡƒΠΊΠ²Ρ‹ΠŸΠΎΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½ΠΎ(Π‘Ρ‚Ρ€ΠΎΠΊΠ°)

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = "";

Для Инд = 1 По Π‘Ρ‚Ρ€Π”Π»ΠΈΠ½Π°(Π‘Ρ‚Ρ€ΠΎΠΊΠ°) Π¦ΠΈΠΊΠ»

Π‘ΠΈΠΌΠ²ΠΎΠ» = Π‘Ρ€Π΅Π΄(Π‘Ρ‚Ρ€ΠΎΠΊΠ°, Инд, 1);

КодБимвола = КодБимв(Бимвол);

// ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ, Ρ‡Ρ‚ΠΎ символ НЕ являСтся Π±ΡƒΠΊΠ²ΠΎΠΉ (ΠΊΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Π° ΠΈΠ»ΠΈ Π»Π°Ρ‚ΠΈΠ½ΠΈΡ†Π°)

Если НЕ (

(КодБимвола >= 1040 И КодБимвола <= 1103) Π˜Π›Π˜ // ΠšΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Π° (А-Π―, Π°-я)

(КодБимвола >= 65 И КодБимвола <= 90) Π˜Π›Π˜ // Π›Π°Ρ‚ΠΈΠ½ΠΈΡ†Π° (A-Z)

(КодБимвола >= 97 И КодБимвола <= 122) // Π›Π°Ρ‚ΠΈΠ½ΠΈΡ†Π° (a-z)

) Π’ΠΎΠ³Π΄Π°

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ + Π‘ΠΈΠΌΠ²ΠΎΠ»;

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚;

ΠšΠΎΠ½Π΅Ρ†Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹ ΠΊΠΎΠ΄ΠΎΠ² для ΠΊΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Ρ‹ (1040–1103) Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ основныС Π±ΡƒΠΊΠ²Ρ‹. Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ Ρ‚ΠΈΠΏΠ° Β«Ρ‘Β», «Ё», Π° Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠΊΠ²Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΡ… славянских Π°Π»Ρ„Π°Π²ΠΈΡ‚ΠΎΠ² (ΡƒΠΊΡ€., бСлорус.) ΠΈΠΌΠ΅ΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠ΄Ρ‹. ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с многоязычными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ потрСбуСтся Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ.

2. ΠœΠ΅Ρ‚ΠΎΠ΄ 2: ИспользованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ() Π² Ρ†ΠΈΠΊΠ»Π΅

Ѐункция Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ() сама ΠΏΠΎ сСбС Π½Π΅ ΡƒΠΌΠ΅Π΅Ρ‚ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡ‹ символов, Π½ΠΎ Π΅Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π² Ρ†ΠΈΠΊΠ»Π΅ для ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ удалСния всСх Π±ΡƒΠΊΠ². Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€ΠΎΡ‰Π΅ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° Π°Π»Ρ„Π°Π²ΠΈΡ‚Π°. ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для 1Π‘ 8.2 ΠΈ 8.3, Π½Π΅ зависит ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

Алгоритм Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Π°ΠΊ: для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π±ΡƒΠΊΠ²Ρ‹ (ΠΎΡ‚ «А» Π΄ΠΎ Β«Π―Β», Β«Π°Β» Π΄ΠΎ «я», Β«AΒ» Π΄ΠΎ Β«ZΒ», Β«aΒ» Π΄ΠΎ Β«zΒ») выполняСтся Π·Π°ΠΌΠ΅Π½Π° Π½Π° ΠΏΡƒΡΡ‚ΡƒΡŽ строку. Π“Π»Π°Π²Π½Ρ‹ΠΉ нСдостаток β€” многочислСнныС ΠΏΡ€ΠΎΡ…ΠΎΠ΄Ρ‹ ΠΏΠΎ строкС, Ρ‡Ρ‚ΠΎ сниТаСт ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΡ‘ΠΌΠ°Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

πŸ“Š Какой ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²Ρ‹ Ρ‡Π°Ρ‰Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками Π² 1Π‘?
ВстроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, Π›Π΅Π², ΠŸΡ€Π°Π²)
РСгулярныС выраТСния
Π¦ΠΈΠΊΠ»Ρ‹ ΠΏΠΎ символам
БобствСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
Ѐункция Π£Π΄Π°Π»ΠΈΡ‚ΡŒΠ‘ΡƒΠΊΠ²Ρ‹Π—Π°ΠΌΠ΅Π½ΠΎΠΉ(Π‘Ρ‚Ρ€ΠΎΠΊΠ°)

// ΠšΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Π° (Π·Π°Π³Π»Π°Π²Π½Ρ‹Π΅)

Для КодБимв = 1040 По 1071 Π¦ΠΈΠΊΠ»

Π‘Ρ‚Ρ€ΠΎΠΊΠ° = Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ(Π‘Ρ‚Ρ€ΠΎΠΊΠ°, Π‘ΠΈΠΌΠ²ΠΎΠ»(КодБимв), "");

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

// ΠšΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Π° (строчныС)

Для КодБимв = 1072 По 1103 Π¦ΠΈΠΊΠ»

Π‘Ρ‚Ρ€ΠΎΠΊΠ° = Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ(Π‘Ρ‚Ρ€ΠΎΠΊΠ°, Π‘ΠΈΠΌΠ²ΠΎΠ»(КодБимв), "");

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

// Π›Π°Ρ‚ΠΈΠ½ΠΈΡ†Π° (Π·Π°Π³Π»Π°Π²Π½Ρ‹Π΅)

Для КодБимв = 65 По 90 Π¦ΠΈΠΊΠ»

Π‘Ρ‚Ρ€ΠΎΠΊΠ° = Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ(Π‘Ρ‚Ρ€ΠΎΠΊΠ°, Π‘ΠΈΠΌΠ²ΠΎΠ»(КодБимв), "");

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

// Π›Π°Ρ‚ΠΈΠ½ΠΈΡ†Π° (строчныС)

Для КодБимв = 97 По 122 Π¦ΠΈΠΊΠ»

Π‘Ρ‚Ρ€ΠΎΠΊΠ° = Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ(Π‘Ρ‚Ρ€ΠΎΠΊΠ°, Π‘ΠΈΠΌΠ²ΠΎΠ»(КодБимв), "");

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π‘Ρ‚Ρ€ΠΎΠΊΠ°;

ΠšΠΎΠ½Π΅Ρ†Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ

  • πŸ”  ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ: Если Π·Π°Ρ€Π°Π½Π΅Π΅ извСстно, Ρ‡Ρ‚ΠΎ Π² строкС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Π° (ΠΈΠ»ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π»Π°Ρ‚ΠΈΠ½ΠΈΡ†Π°), ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ Ρ†ΠΈΠΊΠ»Ρ‹.
  • ⚑ ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ: Для строк Π΄Π»ΠΈΠ½ΠΎΠΉ >1000 символов этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ посимвольного.
  • πŸ“Œ ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования: Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Π£Π΄Π°Π»ΠΈΡ‚ΡŒΠ‘ΡƒΠΊΠ²Ρ‹Π—Π°ΠΌΠ΅Π½ΠΎΠΉ("ΠŸΡ€ΠΈΠΌΠ΅Ρ€123"); // Π’Π΅Ρ€Π½Ρ‘Ρ‚ "123"

3. ΠœΠ΅Ρ‚ΠΎΠ΄ 3: РСгулярныС выраТСния (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для 1Π‘ 8.3.6+)

Начиная с вСрсии 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8.3.6, Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ появилась ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ РСгулярноСВыраТСниС. Π­Ρ‚ΠΎ самый элСгантный способ удалСния Π±ΡƒΠΊΠ² β€” достаточно ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ() с ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ шаблоном.

РСгулярноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ для удалСния всСх Π±ΡƒΠΊΠ² (ΠΊΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Ρ‹ ΠΈ Π»Π°Ρ‚ΠΈΠ½ΠΈΡ†Ρ‹) выглядит Ρ‚Π°ΠΊ: [Π°-яА-Π―a-zA-Z]. Π€Π»Π°Π³ g (Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ поиск) обСспСчиваСт Π·Π°ΠΌΠ΅Π½Ρƒ всСх Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ. ΠœΠ΅Ρ‚ΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ быстрСС Ρ†ΠΈΠΊΠ»ΠΎΠ², особСнно Π½Π° Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… строках.

πŸ’‘

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†ΠΈΡ„Ρ€Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ шаблон [^0-9] с Π·Π°ΠΌΠ΅Π½ΠΎΠΉ Π½Π° ΠΏΡƒΡΡ‚ΡƒΡŽ строку. Π‘ΠΈΠΌΠ²ΠΎΠ» ^ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобок ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ "всё, ΠΊΡ€ΠΎΠΌΠ΅..."

Ѐункция Π£Π΄Π°Π»ΠΈΡ‚ΡŒΠ‘ΡƒΠΊΠ²Ρ‹Π Π΅Π³ΡƒΠ»ΡΡ€ΠΊΠΎΠΉ(Π‘Ρ‚Ρ€ΠΎΠΊΠ°)

Π Π΅Π³Π’Ρ‹Ρ€ = Новый РСгулярноСВыраТСниС("[Π°-яА-Π―a-zA-Z]", "g");

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π Π΅Π³Π’Ρ‹Ρ€.Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ(Π‘Ρ‚Ρ€ΠΎΠΊΠ°, "");

ΠšΠΎΠ½Π΅Ρ†Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Π¨Π°Π±Π»ΠΎΠ½ рСгулярного выраТСния Π§Ρ‚ΠΎ удаляСт ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°
[Π°-яА-Π―] Волько ΠΊΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Ρƒ "ΠŸΡ€ΠΈΠ²Π΅Ρ‚123" β†’ "123"
[a-zA-Z] Волько Π»Π°Ρ‚ΠΈΠ½ΠΈΡ†Ρƒ "Hello123" β†’ "123"
[Π°-яА-Π―a-zA-Z] ΠšΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Ρƒ ΠΈ Π»Π°Ρ‚ΠΈΠ½ΠΈΡ†Ρƒ "ΠŸΡ€ΠΈΠ²Π΅Ρ‚Hello123" β†’ "123"
[^0-9] Всё, ΠΊΡ€ΠΎΠΌΠ΅ Ρ†ΠΈΡ„Ρ€ "Абв123!@#" β†’ "123"
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: РСгулярныС выраТСния Π² 1Π‘ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² вСрсиях 8.3.6 ΠΈ Π²Ρ‹ΡˆΠ΅. Π’ Π±ΠΎΠ»Π΅Π΅ старых ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… (8.2, 8.3.5) этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π²Π΅Ρ€ΡΠΈΡŽ своСй ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π² Π‘ΠΏΡ€Π°Π²ΠΊΠ° β†’ О ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅.

4. ΠœΠ΅Ρ‚ΠΎΠ΄ 4: ИспользованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π‘ΠΎΠΊΡ€Π›ΠŸ() ΠΈ Π·Π°ΠΌΠ΅Π½Ρ‹

НСочСвидный, Π½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ способ β€” комбинация Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π‘ΠΎΠΊΡ€Π›ΠŸ() (удаляСт лишниС ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹) с ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π·Π°ΠΌΠ΅Π½ΠΎΠΉ Π±ΡƒΠΊΠ². Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для случаСв, ΠΊΠΎΠ³Π΄Π° Π² строкС ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² ΠΈΠ»ΠΈ табуляций, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Π°ΠΊΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ.

Алгоритм:

  1. УдаляСм всС ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈ Π½Π΅Ρ€Π°Π·Ρ€Ρ‹Π²Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ (Π‘ΠΎΠΊΡ€Π›ΠŸ()).
  2. ЗамСняСм Π±ΡƒΠΊΠ²Ρ‹ Π½Π° ΠΏΡƒΡΡ‚ΡƒΡŽ строку (ΠΊΠ°ΠΊ Π² ΠœΠ΅Ρ‚ΠΎΠ΄Π΅ 2).
  3. ΠŸΡ€ΠΈ нСобходимости восстанавливаСм ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ "словами" (Ссли ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ Π·Π½Π°Ρ‡ΠΈΠΌΡ‹).

Ѐункция Π£Π΄Π°Π»ΠΈΡ‚ΡŒΠ‘ΡƒΠΊΠ²Ρ‹Π‘ΠΎΠΊΡ€Π›ΠŸ(Π‘Ρ‚Ρ€ΠΎΠΊΠ°)

Π‘Ρ‚Ρ€ΠΎΠΊΠ° = Π‘ΠΎΠΊΡ€Π›ΠŸ(Π‘Ρ‚Ρ€ΠΎΠΊΠ°); // УдаляСм лишниС ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹

// Π”Π°Π»Π΅Π΅ β€” стандартная Π·Π°ΠΌΠ΅Π½Π° Π±ΡƒΠΊΠ² (Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΠœΠ΅Ρ‚ΠΎΠ΄Ρƒ 2)

Для КодБимв = 1040 По 1103 Π¦ΠΈΠΊΠ»

Π‘Ρ‚Ρ€ΠΎΠΊΠ° = Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ(Π‘Ρ‚Ρ€ΠΎΠΊΠ°, Π‘ΠΈΠΌΠ²ΠΎΠ»(КодБимв), "");

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

Для КодБимв = 65 По 122 Π¦ΠΈΠΊΠ»

Если (КодБимв >= 65 И КодБимв <= 90) Π˜Π›Π˜ (КодБимв >= 97 И КодБимв <= 122) Π’ΠΎΠ³Π΄Π°

Π‘Ρ‚Ρ€ΠΎΠΊΠ° = Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ(Π‘Ρ‚Ρ€ΠΎΠΊΠ°, Π‘ΠΈΠΌΠ²ΠΎΠ»(КодБимв), "");

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π‘Ρ‚Ρ€ΠΎΠΊΠ°;

ΠšΠΎΠ½Π΅Ρ†Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ

ΠŸΠΎΡ‡Π΅ΠΌΡƒ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π΅Π½?

Если исходная строка содСрТит ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² ΠΈΠ»ΠΈ Π½Π΅ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌΡ‹Ρ… символов (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, послС ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° ΠΈΠ· Excel), ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ использованиС Π‘ΠΎΠΊΡ€Π›ΠŸ() ускорит Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ количСство ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ Π² Ρ†ΠΈΠΊΠ»Π°Ρ….

5. ΠœΠ΅Ρ‚ΠΎΠ΄ 5: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ собствСнной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ-Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°

Для частых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ со строками ΠΈΠΌΠ΅Π΅Ρ‚ смысл ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ-Ρ„ΠΈΠ»ΡŒΡ‚Ρ€, которая Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ строку ΠΈ список Ρ€Π°Π·Ρ€Π΅ΡˆΡ‘Π½Π½Ρ‹Ρ… символов. Π­Ρ‚ΠΎ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ ΠΎΡ‚ нСобходимости ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΊΠΎΠ΄.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π½ΠΈΠΆΠ΅ дСмонстрируСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая оставляСт Π² строкС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ символы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Ρ‹ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Ссли Π½ΡƒΠΆΠ½ΠΎ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†ΠΈΡ„Ρ€Ρ‹, Π½ΠΎ ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚ΠΎΡ‡ΠΊΠΈ, запятыС ΠΈΠ»ΠΈ Π·Π½Π°ΠΊΠΈ Β«+Β», Β«-Β».

Ѐункция ΠžΡΡ‚Π°Π²ΠΈΡ‚ΡŒΠ’ΠΎΠ»ΡŒΠΊΠΎΠ‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹(Π‘Ρ‚Ρ€ΠΎΠΊΠ°, Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹Π΅Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ = "0123456789")

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = "";

Для Инд = 1 По Π‘Ρ‚Ρ€Π”Π»ΠΈΠ½Π°(Π‘Ρ‚Ρ€ΠΎΠΊΠ°) Π¦ΠΈΠΊΠ»

Π‘ΠΈΠΌΠ²ΠΎΠ» = Π‘Ρ€Π΅Π΄(Π‘Ρ‚Ρ€ΠΎΠΊΠ°, Инд, 1);

Если Найти(Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹Π΅Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹, Π‘ΠΈΠΌΠ²ΠΎΠ») > 0 Π’ΠΎΠ³Π΄Π°

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ + Π‘ΠΈΠΌΠ²ΠΎΠ»;

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚;

ΠšΠΎΠ½Π΅Ρ†Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ

// ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования:

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚1 = ΠžΡΡ‚Π°Π²ΠΈΡ‚ΡŒΠ’ΠΎΠ»ΡŒΠΊΠΎΠ‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹("Абв123!@#"); // Π’Π΅Ρ€Π½Ρ‘Ρ‚ "123"

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚2 = ΠžΡΡ‚Π°Π²ΠΈΡ‚ΡŒΠ’ΠΎΠ»ΡŒΠΊΠΎΠ‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹("ВСст+100%", "0123456789%+"); // Π’Π΅Ρ€Π½Ρ‘Ρ‚ "+100%"

πŸ”Ή НуТна максимальная ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ? β†’ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ рСгулярныС выраТСния (ΠœΠ΅Ρ‚ΠΎΠ΄ 3)

πŸ”Ή Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π² 1Π‘ 8.2? β†’ Π’Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ ΠΏΠΎΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ (ΠœΠ΅Ρ‚ΠΎΠ΄ 1) ΠΈΠ»ΠΈ Π·Π°ΠΌΠ΅Π½Ρƒ (ΠœΠ΅Ρ‚ΠΎΠ΄ 2)

πŸ”Ή НуТно ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ Π·Π½Π°ΠΊΠΈ? β†’ Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ-Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ (ΠœΠ΅Ρ‚ΠΎΠ΄ 5)

πŸ”Ή Π’ строкС ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ²? β†’ ΠšΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΡƒΠΉΡ‚Π΅ с Π‘ΠΎΠΊΡ€Π›ΠŸ() (ΠœΠ΅Ρ‚ΠΎΠ΄ 4)-->

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΏΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ способ, Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²Π΅Π΄Ρ‘Ρ‚ сСбя Π½Π° строках Ρ€Π°Π·Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ для строк Π΄Π»ΠΈΠ½ΠΎΠΉ 100, 1000 ΠΈ 10 000 символов (тСсты ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠ»ΠΈΡΡŒ Π½Π° 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8.3.18):

ΠœΠ΅Ρ‚ΠΎΠ΄ 100 символов (мс) 1000 символов (мс) 10 000 символов (мс) ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ
Посимвольная ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° (ΠœΠ΅Ρ‚ΠΎΠ΄ 1) ~1 ~10 ~100 ЛинСйная Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ Π΄Π»ΠΈΠ½Ρ‹ строки
Π—Π°ΠΌΠ΅Π½Π° Π² Ρ†ΠΈΠΊΠ»Π΅ (ΠœΠ΅Ρ‚ΠΎΠ΄ 2) ~5 ~50 ~500 МСдлСннСС ΠΈΠ·-Π·Π° мноТСства ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΎΠ² ΠΏΠΎ строкС
РСгулярныС выраТСния (ΠœΠ΅Ρ‚ΠΎΠ΄ 3) ~0.5 ~2 ~15 Π‘Π°ΠΌΡ‹ΠΉ быстрый, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ 8.3.6+
Ѐункция-Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ (ΠœΠ΅Ρ‚ΠΎΠ΄ 5) ~1.2 ~12 ~120 Π“ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ компСнсируСт Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ скорости

Из Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ рСгулярныС выраТСния Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Π²Π°ΡŽΡ‚ ΠΏΠΎ скорости Π² дСсятки Ρ€Π°Π·, особСнно Π½Π° Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… строках. Однако Ссли Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π² старой вСрсии 1Π‘ ΠΈΠ»ΠΈ Π½ΡƒΠΆΠ΄Π°Π΅Ρ‚Π΅ΡΡŒ Π² Ρ‚ΠΎΠ½ΠΊΠΎΠΉ настройкС Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ, стоит Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.

πŸ’‘

Для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΡ‘ΠΌΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ справочников ΠΈΠ· Excel) всСгда ΠΎΡ‚Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅ рСгулярным выраТСниям (ΠœΠ΅Ρ‚ΠΎΠ΄ 3) β€” это сократит врСмя выполнСния Π² 5–10 Ρ€Π°Π·.

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΈ ΠΊΠ°ΠΊ ΠΈΡ… ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ

ΠŸΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ Π±ΡƒΠΊΠ² ΠΈΠ· строк Π² 1Π‘ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ часто ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹ΠΌΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ. Π’ΠΎΡ‚ самыС распространённыС ошибки ΠΈ способы ΠΈΡ… прСдотвращСния:

  • πŸ€„οΈ ΠŸΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Ρ‹ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹ ΠΊΠΎΠ΄ΠΎΠ² для Β«Ρ‘Β»/«Ё»: Π­Ρ‚ΠΈ Π±ΡƒΠΊΠ²Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΊΠΎΠ΄Ρ‹ 1025 ΠΈ 1105 (заглавная) ΠΈ 1105 (строчная). Если ΠΈΡ… Π½Π΅ ΡƒΡ‡Π΅ΡΡ‚ΡŒ, ΠΎΠ½ΠΈ останутся Π² строкС.
    ⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡˆΡ€ΠΈΡ„Ρ‚Π°Ρ… ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°Ρ… символ Β«Ρ‘Β» ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠ΄. Для надёТности ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Найти(Π‘Ρ‚Ρ€ΠΎΠΊΠ°, "Ρ‘") ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ.
  • πŸ”€ НС ΡƒΡ‡Ρ‚Π΅Π½Π° Π»Π°Ρ‚ΠΈΠ½ΠΈΡ†Π° Π² кирилличСских строках: Если Π² строкС ΠΌΠΎΠ³ΡƒΡ‚ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Ρ‚ΡŒΡΡ латинскиС Π±ΡƒΠΊΠ²Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Π°Ρ€Ρ‚ΠΈΠΊΡƒΠ»Π°Ρ… ΠΈΠ»ΠΈ Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°Ρ…), ΠΈΡ… Ρ‚Π°ΠΊΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ явно ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ.
  • ⏱️ Π—Π°Ρ†ΠΈΠΊΠ»ΠΈΠ²Π°Π½ΠΈΠ΅ Π½Π° Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… строках: ΠŸΡ€ΠΈ использовании ΠœΠ΅Ρ‚ΠΎΠ΄Π° 2 (Π·Π°ΠΌΠ΅Π½Π° Π² Ρ†ΠΈΠΊΠ»Π΅) Π½Π° строках >10 000 символов Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ Π»ΠΈΠΌΠΈΡ‚Π° рСкурсии. Π Π°Π·Π±Π΅ΠΉΡ‚Π΅ строку Π½Π° части ΠΏΠΎ 5000 символов.
  • πŸ“‰ ПадСниС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ: Если функция вызываСтся Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΏΠΎ Π±ΠΎΠ»ΡŒΡˆΠΎΠΌΡƒ массиву Π΄Π°Π½Π½Ρ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉ части), вынСситС Π΅Ρ‘ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ строки с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ Β«Ρ‘Β»:

Ѐункция Π£Π΄Π°Π»ΠΈΡ‚ΡŒΠ’ΡΠ΅Π‘ΡƒΠΊΠ²Ρ‹(Π‘Ρ‚Ρ€ΠΎΠΊΠ°)

// ДобавляСм ΡΠ²Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ для "Ρ‘" ΠΈ "Ё"

Π‘Ρ‚Ρ€ΠΎΠΊΠ° = Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ(Π‘Ρ‚Ρ€ΠΎΠΊΠ°, "Ρ‘", "");

Π‘Ρ‚Ρ€ΠΎΠΊΠ° = Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ(Π‘Ρ‚Ρ€ΠΎΠΊΠ°, "Ё", "");

// ΠžΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠ΄ (Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΠœΠ΅Ρ‚ΠΎΠ΄Ρƒ 2)

...

ΠšΠΎΠ½Π΅Ρ†Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ

FAQ: ЧастыС вопросы ΠΏΠΎ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΡŽ Π±ΡƒΠΊΠ² ΠΈΠ· строк Π² 1Π‘

МоТно Π»ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π±ΡƒΠΊΠ²Ρ‹ ΠΈΠ· строки Π±Π΅Π· программирования, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ стандартными срСдствами 1Π‘?

НСт, Π² Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ 1Π‘ Π½Π΅Ρ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для удалСния Π±ΡƒΠΊΠ². ВсС описанныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ написания ΠΊΠΎΠ΄Π° (Π΄Π°ΠΆΠ΅ Ссли это однострочная функция с РСгулярноСВыраТСниС). Однако Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Ρ‘ Π² Π»ΡŽΠ±Ρ‹Ρ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ… ΠΈΠ»ΠΈ ΠΎΡ‚Ρ‡Ρ‘Ρ‚Π°Ρ….

ΠŸΠΎΡ‡Π΅ΠΌΡƒ послС удалСния Π±ΡƒΠΊΠ² Π² строкС ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π·Π½Π°ΠΊΠΈ Β«?Β». Как ΠΈΡ… ΡƒΠ±Ρ€Π°Ρ‚ΡŒ?

Π—Π½Π°ΠΊΠΈ Β«?Β» ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ, Ссли Π² строкС Π±Ρ‹Π»ΠΈ символы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°ΡŽΡ‚ΡΡ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, символы юникода ΠΈΠ»ΠΈ эмодзи). Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡ… ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ, Ρ€Π°ΡΡˆΠΈΡ€ΡŒΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π² ΠœΠ΅Ρ‚ΠΎΠ΄Π΅ 1:

Если НЕ (

(КодБимвола >= 1040 И КодБимвола <= 1103) Π˜Π›Π˜

(КодБимвола >= 65 И КодБимвола <= 122) Π˜Π›Π˜

(КодБимвола = 63) // Код символа "?"

) Π’ΠΎΠ³Π΄Π°

Или ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ рСгулярноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ [^\x20-\x7E] для удалСния всСх Π½Π΅ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌΡ‹Ρ… символов.

Как ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π±ΡƒΠΊΠ²Ρ‹ ΠΈΠ· строки Π² запросС 1Π‘?

Π’ языкС запросов 1Π‘ Π½Π΅Ρ‚ встроСнных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для удалСния Π±ΡƒΠΊΠ². Однако Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅:

  1. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ с вычисляСмым ΠΏΠΎΠ»Π΅ΠΌ, Π³Π΄Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΈΠ· описанных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.
  2. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π’Π«Π ΠΠ—Π˜Π’Π¬ с Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ внСшнСй Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Π΅Ρ€Π΅Π· Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ(), Π½ΠΎ это Π½Π΅ рСкомСндуСтся ΠΈΠ·-Π·Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ).
  3. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ послС выполнСния запроса Π² ΠΊΠΎΠ΄Π΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹:

ВЫБРАВЬ

Π’ΠΎΠ²Π°Ρ€Ρ‹.Бсылка КАК Бсылка,

&Π£Π΄Π°Π»ΠΈΡ‚ΡŒΠ‘ΡƒΠΊΠ²Ρ‹(Π’ΠΎΠ²Π°Ρ€Ρ‹.Артикул) КАК ЧистыйАртикул

Π˜Π—

Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.Π’ΠΎΠ²Π°Ρ€Ρ‹ КАК Π’ΠΎΠ²Π°Ρ€Ρ‹

Π“Π΄Π΅ &Π£Π΄Π°Π»ΠΈΡ‚ΡŒΠ‘ΡƒΠΊΠ²Ρ‹ β€” это ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ запроса, содСрТащий ссылку Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ.

Как ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ русскиС Π±ΡƒΠΊΠ²Ρ‹, оставив Π»Π°Ρ‚ΠΈΠ½ΠΈΡ†Ρƒ?

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ рСгулярноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ [Π°-яА-ЯёЁ] ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠœΠ΅Ρ‚ΠΎΠ΄ 1/2, ΡƒΠ±Ρ€Π°Π² ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ для латинских символов:

// Волько для ΠΊΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Ρ‹ (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ "Ρ‘")

Π Π΅Π³Π’Ρ‹Ρ€ = Новый РСгулярноСВыраТСниС("[Π°-яА-ЯёЁ]", "g");

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Π Π΅Π³Π’Ρ‹Ρ€.Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ(Π‘Ρ‚Ρ€ΠΎΠΊΠ°, "");

Для ΠœΠ΅Ρ‚ΠΎΠ΄Π° 2 просто ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ Ρ†ΠΈΠΊΠ»Ρ‹ ΠΏΠΎ латинским Π±ΡƒΠΊΠ²Π°ΠΌ (Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹ 65–90 ΠΈ 97–122).

ΠŸΠΎΡ‡Π΅ΠΌΡƒ послС удалСния Π±ΡƒΠΊΠ² строка стала ΠΊΠΎΡ€ΠΎΡ‡Π΅, Ρ‡Π΅ΠΌ оТидалось?

ВСроятныС ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹:

  • Π’ строкС Π±Ρ‹Π»ΠΈ Π½Π΅Ρ€Π°Π·Ρ€Ρ‹Π²Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ (Π§Ρ€(160)), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Π°ΠΊΠΆΠ΅ Π±Ρ‹Π»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ(Π‘Ρ‚Ρ€ΠΎΠΊΠ°, Π§Ρ€(160), " ") ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ.
  • Π‘Ρ‹Π»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹ Ρ†ΠΈΡ„Ρ€Ρ‹ Π² юникодС (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, арабскиС ΠΈΠ»ΠΈ китайскиС). Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΈΡ… Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹ Π² ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ.
  • Π‘Ρ‚Ρ€ΠΎΠΊΠ° содСрТала символы пСрСноса (Π§Ρ€(13), Π§Ρ€(10)), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚ΠΎΠΆΠ΅ ΠΏΠΎΠΏΠ°Π»ΠΈ ΠΏΠΎΠ΄ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅.

Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΈΠ°Π³Π½ΠΎΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, Π²Ρ‹Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠ΄Ρ‹ всСх символов строки:

Для Инд = 1 По Π‘Ρ‚Ρ€Π”Π»ΠΈΠ½Π°(Π‘Ρ‚Ρ€ΠΎΠΊΠ°) Π¦ΠΈΠΊΠ»

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(КодБимв(Π‘Ρ€Π΅Π΄(Π‘Ρ‚Ρ€ΠΎΠΊΠ°, Инд, 1)));

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;