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

ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡƒΠ΄Π΅Π»ΠΈΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ: Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π² 10-100 Ρ€Π°Π· быстрСС Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… массивов Π΄Π°Π½Π½Ρ‹Ρ…. Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠΎΠ³Π΄Π° Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ(), Π° ΠΊΠΎΠ³Π΄Π° β€” Ρ†ΠΈΠΊΠ»Ρ‹ ΠΈΠ»ΠΈ рСгулярки. ВсС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° протСстированы Π½Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅Π»ΠΈΠ·Π°Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8.3.23 ΠΈ Π²Ρ‹ΡˆΠ΅.

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

1. Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄: функция Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ()

Ѐункция Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ() β€” самый простой ΠΈ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятный инструмСнт для удалСния символов. Она замСняСт всС вхоТдСния подстроки Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ строку (Π² нашСм случаС β€” Π½Π° ΠΏΡƒΡΡ‚ΡƒΡŽ). Бинтаксис:

Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ(Π˜ΡΡ…ΠΎΠ΄Π½Π°ΡΠ‘Ρ‚Ρ€ΠΎΠΊΠ°, Π§Ρ‚ΠΎΠ˜ΡΠΊΠ°Ρ‚ΡŒ, ΠΠ°Π§Ρ‚ΠΎΠ—Π°ΠΌΠ΅Π½ΡΡ‚ΡŒ)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ удалСния всСх дСфисов ΠΈΠ· строки:

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ("АБ-123-Π’Π“-45", "-", ""); // Π’Π΅Ρ€Π½Π΅Ρ‚ "АБ123Π’Π“45"

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°:

  • βœ… ΠŸΡ€ΠΎΡΡ‚ΠΎΡ‚Π° β€” ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²
  • βœ… БыстродСйствиС β€” ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹
  • ❌ ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ β€” замСняСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΡ‡Π½Ρ‹Π΅ вхоТдСния (Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² символов)

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ нСсколько Ρ€Π°Π·Π½Ρ‹Ρ… символов, придСтся Π²Π»ΠΎΠΆΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ(

Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ(

Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ("Π‘Ρ‚Ρ€ΠΎΠΊΠ°!@#", "!", ""),

"@", ""),

"#", "");

πŸ’‘

Для удалСния ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² Π² Π½Π°Ρ‡Π°Π»Π΅/ΠΊΠΎΠ½Ρ†Π΅ строки ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ спСциализированныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π‘ΠΎΠΊΡ€Π›ΠŸ() (ΡƒΠ±ΠΈΡ€Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ слСва) ΠΈ Π‘ΠΎΠΊΡ€ΠŸ() (ΡƒΠ±ΠΈΡ€Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ справа).

2. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎ позициям: Π›Π΅Π²(), ΠŸΡ€Π°Π²(), Π‘Ρ€Π΅Π΄()

Когда Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ символы Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… позициях строки (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠ΅Ρ€Π²Ρ‹Π΅ 3 ΠΈΠ»ΠΈ послСдниС 2 символа), ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π›Π΅Π²(), ΠŸΡ€Π°Π²() ΠΈ Π‘Ρ€Π΅Π΄():

Π€ΡƒΠ½ΠΊΡ†ΠΈΡΠ‘ΠΈΠ½Ρ‚Π°ΠΊΡΠΈΡΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования
Π›Π΅Π²()Π›Π΅Π²(Π‘Ρ‚Ρ€ΠΎΠΊΠ°, ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎΠ‘ΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²)Π£Π΄Π°Π»ΠΈΡ‚ΡŒ всС символы справа, оставив N слСва
ΠŸΡ€Π°Π²()ΠŸΡ€Π°Π²(Π‘Ρ‚Ρ€ΠΎΠΊΠ°, ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎΠ‘ΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²)Π£Π΄Π°Π»ΠΈΡ‚ΡŒ всС символы слСва, оставив N справа
Π‘Ρ€Π΅Π΄()Π‘Ρ€Π΅Π΄(Π‘Ρ‚Ρ€ΠΎΠΊΠ°, Начало, Π”Π»ΠΈΠ½Π°)Π’Ρ‹Ρ€Π΅Π·Π°Ρ‚ΡŒ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΈΠ· сСрСдины строки

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹:

// Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ 2 символа

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = ΠŸΡ€Π°Π²("12АБВГ", Π‘Ρ‚Ρ€Π”Π»ΠΈΠ½Π°("12АБВГ") - 2); // "АБВГ"

// Π£Π΄Π°Π»ΠΈΡ‚ΡŒ послСдниС 3 символа

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Π›Π΅Π²("АБВГ123", Π‘Ρ‚Ρ€Π”Π»ΠΈΠ½Π°("АБВГ123") - 3); // "АБВГ"

// Π£Π΄Π°Π»ΠΈΡ‚ΡŒ символы с 3 ΠΏΠΎ 5 ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Π›Π΅Π²("АБВГДЕ", 2) + ΠŸΡ€Π°Π²("АБВГДЕ", Π‘Ρ‚Ρ€Π”Π»ΠΈΠ½Π°("АБВГДЕ") - 3); // "АЕ"

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΌΠ½ΠΎΠ³ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΌΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, UTF-8) Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π›Π΅Π²()/ΠŸΡ€Π°Π²() ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ символов. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π‘Ρ‚Ρ€Π”Π»ΠΈΠ½Π°() с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ "UTF-16":
Π”Π»ΠΈΠ½Π° = Π‘Ρ‚Ρ€Π”Π»ΠΈΠ½Π°("ΠŸΡ€ΠΈΠ²Π΅Ρ‚!", "UTF-16"); // Π’Π΅Ρ€Π½Π΅Ρ‚ 7 (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π²ΠΎΡΠΊΠ»ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π·Π½Π°ΠΊ)

3. Π¦ΠΈΠΊΠ»Ρ‹ ΠΏΠΎ символам: максимальная Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ

Для слоТных условий удалСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всС Ρ†ΠΈΡ„Ρ€Ρ‹ послС Π±ΡƒΠΊΠ²Ρ‹ X") придСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ большС ΠΊΠΎΠ΄Π°, Π½ΠΎ Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ процСссом:

Ѐункция Π£Π΄Π°Π»ΠΈΡ‚ΡŒΠ‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ΠŸΠΎΠ£ΡΠ»ΠΎΠ²ΠΈΡŽ(Π‘Ρ‚Ρ€ΠΎΠΊΠ°, УсловиСУдалСния)

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

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

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

Если НЕ УсловиСУдалСния(Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉΠ‘ΠΈΠΌΠ²ΠΎΠ») Π’ΠΎΠ³Π΄Π°

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

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

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

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

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

// ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования: ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всС Π½Π΅Π±ΡƒΠΊΠ²Π΅Π½Π½Ρ‹Π΅ символы

УсловиС = Ѐункция(Π‘ΠΈΠΌΠ²ΠΎΠ») Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ НЕ (Π‘ΠΈΠΌΠ²ΠΎΠ» >= "А" И Π‘ΠΈΠΌΠ²ΠΎΠ» <= "Π―"); ΠšΠΎΠ½Π΅Ρ†Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ;

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Π£Π΄Π°Π»ΠΈΡ‚ΡŒΠ‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ΠŸΠΎΠ£ΡΠ»ΠΎΠ²ΠΈΡŽ("А1Π‘!2Π’@Π“", УсловиС); // Π’Π΅Ρ€Π½Π΅Ρ‚ "АБВГ"

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π°:

  • πŸ”§ Π“ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ β€” ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ удалСния
  • πŸ“Š ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… строк с слоТными ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ
  • ⚠️ МСдлСннСС встроСнных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ (Π²Π°ΠΆΠ½ΠΎ для массивов Π΄Π°Π½Π½Ρ‹Ρ…)
Как ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Ρ†ΠΈΠΊΠ»ΠΎΠΌ?

Для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… строк (1000+ символов) ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ строку Π² массив Π±Π°ΠΉΡ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ‘Π°ΠΉΡ‚Ρ‹(), ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ массив, Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠΉΡ‚Π΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΡƒΠ˜Π·Π‘Π°ΠΉΡ‚(). Π­Ρ‚ΠΎ ускоряСт Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² 3-5 Ρ€Π°Π·.

4. РСгулярныС выраТСния: ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт

Для удалСния символов ΠΏΠΎ шаблонам (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "всС Π·Π½Π°ΠΊΠΈ прСпинания" ΠΈΠ»ΠΈ "всС символы ΠΊΡ€ΠΎΠΌΠ΅ Ρ†ΠΈΡ„Ρ€") идСально подходят рСгулярныС выраТСния. Π’ 1Π‘ ΠΎΠ½ΠΈ доступны Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ РСгулярноСВыраТСниС:

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = РСгулярныСВыраТСния.Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ(

"ВСст! 123? ΠŸΡ€ΠΈΠΌΠ΅Ρ€.",

"[^Π°-яА-ЯёЁ\s]", // УдаляСм всё ΠΊΡ€ΠΎΠΌΠ΅ Π±ΡƒΠΊΠ² ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ²

""); // ЗамСняСм Π½Π° ΠΏΡƒΡΡ‚ΡƒΡŽ строку

// Π’Π΅Ρ€Π½Π΅Ρ‚ "ВСст ΠŸΡ€ΠΈΠΌΠ΅Ρ€"

ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½Ρ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ для удалСния:

Π—Π°Π΄Π°Ρ‡Π°Π¨Π°Π±Π»ΠΎΠ½ рСгулярного выраТСния
Π£Π΄Π°Π»ΠΈΡ‚ΡŒ всС Ρ†ΠΈΡ„Ρ€Ρ‹[\d] ΠΈΠ»ΠΈ [0-9]
Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈ табуляции[\s]
Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Π·Π½Π°ΠΊΠΈ прСпинания[\p{P}]
Π£Π΄Π°Π»ΠΈΡ‚ΡŒ всС ΠΊΡ€ΠΎΠΌΠ΅ Π±ΡƒΠΊΠ² ΠΈ Ρ†ΠΈΡ„Ρ€[^a-zA-ZΠ°-яА-Π―0-9]

Π’Π°ΠΆΠ½ΠΎ: рСгулярныС выраТСния Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ встроСнных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… массивов Π΄Π°Π½Π½Ρ‹Ρ…. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΈΡ… Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ³Π΄Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π½Π΅ подходят.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ regex Π² вашСй вСрсии 1Π‘ (трСбуСтся 8.3.6+)

ВСстируйтС ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ Π½Π° Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… строках ΠΏΠ΅Ρ€Π΅Π΄ массовой ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„Π»Π°Π³ РСгулярноСВыраТСниС.Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉΠŸΠΎΠΈΡΠΊ для Π·Π°ΠΌΠ΅Π½Ρ‹ всСх Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ

ΠžΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ‡Π΅Ρ€Π΅Π· ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°...Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

-->

5. Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ случаи: Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Π΅ символы

Частая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡ€ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π΅ Π΄Π°Π½Π½Ρ‹Ρ… β€” Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Π΅ символы (ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹, табуляции, пСрСносы строк). Π˜Ρ… Π½Π΅ Π²ΠΈΠ΄Π½ΠΎ Π² ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ΅, Π½ΠΎ ΠΎΠ½ΠΈ Π»ΠΎΠΌΠ°ΡŽΡ‚ сравнСниС строк. Для ΠΈΡ… удалСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅:

// Π£Π΄Π°Π»ΠΈΡ‚ΡŒ всС Π½Π΅ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌΡ‹Π΅ символы (ΠΊΠΎΠ΄Ρ‹ < 32)

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

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

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

Если КодБимвола(Π‘ΠΈΠΌΠ²ΠΎΠ») >= 32 Π’ΠΎΠ³Π΄Π°

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

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

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

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ "Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΠΊΠΈ" ΠΈ ΠΈΡ… ΠΊΠΎΠ΄Ρ‹:

  • πŸ”Ή ΠŸΡ€ΠΎΠ±Π΅Π» (КодБимвола(" ") = 32)
  • πŸ”Ή Вабуляция (КодБимвола(БимволВабуляции()) = 9)
  • πŸ”Ή ΠŸΠ΅Ρ€Π΅Π½ΠΎΡ строки (КодБимвола(Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹.ПБ) = 10)
  • πŸ”Ή Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠΈ (КодБимвола(Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹.Π’Πš) = 13)
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π‘ΠΈΠΌΠ²ΠΎΠ» Π½Π΅Ρ€Π°Π·Ρ€Ρ‹Π²Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ±Π΅Π»Π° (ΠΊΠΎΠ΄ 160) Π½Π΅ удаляСтся стандартной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Π‘ΠΎΠΊΡ€Π›ΠŸ(). Π§Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠ²Π½ΡƒΡŽ Π·Π°ΠΌΠ΅Π½Ρƒ: Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ(Π‘Ρ‚Ρ€ΠΎΠΊΠ°, Π‘ΠΈΠΌΠ²ΠΎΠ»(160), "").

6. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

ΠŸΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… массивов Π΄Π°Π½Π½Ρ‹Ρ… (тысячи строк) Π²Ρ‹Π±ΠΎΡ€ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° критичСски влияСт Π½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ. ВСсты Π½Π° 10 000 строк ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹:

ΠœΠ΅Ρ‚ΠΎΠ΄Π’Ρ€Π΅ΠΌΡ выполнСния (мс)ΠŸΠ°ΠΌΡΡ‚ΡŒ (Кб)Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ
Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ()12450Π›ΡƒΡ‡ΡˆΠΈΠΉ Π²Ρ‹Π±ΠΎΡ€ для простых Π·Π°ΠΌΠ΅Π½
Цикл по символам45620Волько для слоТной логики
РСгулярныС выраТСния180890Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ Π² массовых опСрациях
Π›Π΅Π²()/ΠŸΡ€Π°Π²()8410ΠžΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎ для ΠΎΠ±Ρ€Π΅Π·ΠΊΠΈ строк

Π‘ΠΎΠ²Π΅Ρ‚Ρ‹ ΠΏΠΎ ΡƒΡΠΊΠΎΡ€Π΅Π½ΠΈΡŽ:

  1. Для Π·Π°ΠΌΠ΅Π½Ρ‹ ΠΎΠ΄Π½ΠΎΠ³ΠΎ символа всСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ()
  2. ΠŸΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΡ… строк Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ
  3. Для удалСния Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° символов (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "всС Ρ†ΠΈΡ„Ρ€Ρ‹") ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ спСциализированныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ вмСсто рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ
πŸ’‘

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ (>100 Мб) ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ порциями ΠΏΠΎ 10 000 строк, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ пСрСполнСния памяти.

7. Π“ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π°Ρ‚ΡŒ вСлосипСд, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для распространСнных сцСнариСв:

// 1. Π£Π΄Π°Π»ΠΈΡ‚ΡŒ всС ΠΊΡ€ΠΎΠΌΠ΅ Ρ†ΠΈΡ„Ρ€

Ѐункция Π’ΠΎΠ»ΡŒΠΊΠΎΠ¦ΠΈΡ„Ρ€Ρ‹(Π‘Ρ‚Ρ€ΠΎΠΊΠ°)

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ РСгулярныСВыраТСния.Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ(Π‘Ρ‚Ρ€ΠΎΠΊΠ°, "[^0-9]", "");

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

// 2. Π£Π΄Π°Π»ΠΈΡ‚ΡŒ всС ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π½Π΅Ρ€Π°Π·Ρ€Ρ‹Π²Π½Ρ‹Π΅)

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

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ(

Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ(

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

Π‘ΠΈΠΌΠ²ΠΎΠ»(160), ""),

Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹.Вабуляция, "");

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

// 3. Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ΡΡ символы подряд

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

Если Π‘Ρ‚Ρ€Π”Π»ΠΈΠ½Π°(Π‘Ρ‚Ρ€ΠΎΠΊΠ°) = 0 Π’ΠΎΠ³Π΄Π° Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ ""; ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Π›Π΅Π²(Π‘Ρ‚Ρ€ΠΎΠΊΠ°, 1);

ΠŸΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉΠ‘ΠΈΠΌΠ²ΠΎΠ» = Π›Π΅Π²(Π‘Ρ‚Ρ€ΠΎΠΊΠ°, 1);

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

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

Если Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉΠ‘ΠΈΠΌΠ²ΠΎΠ» <> ΠŸΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉΠ‘ΠΈΠΌΠ²ΠΎΠ» Π’ΠΎΠ³Π΄Π°

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

ΠŸΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉΠ‘ΠΈΠΌΠ²ΠΎΠ» = Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉΠ‘ΠΈΠΌΠ²ΠΎΠ»;

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

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

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

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

Π­Ρ‚ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² ΠΎΠ±Ρ‰Π΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нСобходимости. НС Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅!

FAQ: ЧастыС вопросы ΠΏΠΎ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΡŽ символов

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

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ ΠŸΡ€Π°Π²()/Π›Π΅Π²() с Π‘Ρ‚Ρ€Π”Π»ΠΈΠ½Π°():

// Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ символ

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = ΠŸΡ€Π°Π²("123АБВ", Π‘Ρ‚Ρ€Π”Π»ΠΈΠ½Π°("123АБВ") - 1); // "23АБВ"

// Π£Π΄Π°Π»ΠΈΡ‚ΡŒ послСдний символ

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Π›Π΅Π²("АБВ123", Π‘Ρ‚Ρ€Π”Π»ΠΈΠ½Π°("АБВ123") - 1); // "АБВ12"

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ() Π½Π΅ удаляСт символы Π² Ρ„Π°ΠΉΠ»Π΅?

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ Ρ„Π°ΠΉΠ»Π°. ΠŸΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ ΠΈΠ· Ρ„Π°ΠΉΠ»Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ явноС ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ:

ВСкст = Новый ЧтСниСВСкста(ΠŸΡƒΡ‚ΡŒΠšΠ€Π°ΠΉΠ»Ρƒ, ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°Π’Π΅ΠΊΡΡ‚Π°.UTF8);

Π‘Ρ‚Ρ€ΠΎΠΊΠ° = ВСкст.ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΡƒ();

ВСкст.Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ();

Для Windows-Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°Π’Π΅ΠΊΡΡ‚Π°.ANSI.

Как ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ символы ΠΈΠ· строки Π² запросС 1Π‘?

Π’ языкС запросов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π—ΠΠœΠ•ΠΠ˜Π’Π¬():

ВЫБРАВЬ

Π—ΠΠœΠ•ΠΠ˜Π’Π¬(ΠŸΠΎΠ»Π΅Π‘Ρ‚Ρ€ΠΎΠΊΠ°, "-", "") КАК ΠžΡ‡ΠΈΡ‰Π΅Π½Π½Π°ΡΠ‘Ρ‚Ρ€ΠΎΠΊΠ°

Π˜Π—

Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.Π—Π°ΠΊΠ°Π·Ρ‹ΠŸΠΎΠΊΡƒΠΏΠ°Ρ‚Π΅Π»Π΅ΠΉ

Для слоТных Π·Π°ΠΌΠ΅Π½ создайтС вычисляСмоС ΠΏΠΎΠ»Π΅ с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ Π½Π° встроСнном языкС.

МоТно Π»ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ символы прямо Π² Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘ Π±Π΅Π· программирования?

Π”Π°, для простых случаСв:

  1. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Ρ„ΠΎΡ€ΠΌΡ‹ Ρ‚ΠΈΠΏΠ° "Π‘Ρ‚Ρ€ΠΎΠΊΠ°"
  2. Π’ событии ΠŸΡ€ΠΈΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΊΠΎΠ΄ очистки
  3. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π‘ΠΎΠΊΡ€Π›ΠŸ() ΠΈΠ»ΠΈ Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ()

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° для события:

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠŸΡ€ΠΈΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ(Π­Π»Π΅ΠΌΠ΅Π½Ρ‚)

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ(Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, " ", "");

ΠšΠΎΠ½Π΅Ρ†ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

Как ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ символы ΠΈΠ· строки Π² мобильном ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ 1Π‘?

Π’ мобильной ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ доступны Ρ‚Π΅ ΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½ΠΎ:

  • РСгулярныС выраТСния Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅
  • Ѐункция КодБимвола() ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ значСния для Unicode
  • Для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… строк ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ‘Π°ΠΉΡ‚Ρ‹()

ВСстируйтС ΠΊΠΎΠ΄ Π½Π° Ρ†Π΅Π»Π΅Π²Ρ‹Ρ… устройствах!