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

ПониманиС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π»ΠΈΠ½Π°ΠΌΠΈ строк, критичСски Π²Π°ΠΆΠ½ΠΎ для написания Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. Ошибки Π² Π»ΠΎΠ³ΠΈΠΊΠ΅ ΠΎΠ±Ρ€Π΅Π·ΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ привСсти ΠΊ появлСнию "Π±ΠΈΡ‚Ρ‹Ρ…" ссылок, Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ поиска ΠΈΠ»ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚ΠΎΠ² Π² ΠΎΡ‚Ρ‡Π΅Ρ‚Π°Ρ…. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ сцСнарии, ΠΎΡ‚ простого ΠΎΡ‚Ρ€Π΅Π·Π° Π΄ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΌΠ½ΠΎΠ³ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΌΠΈ символами ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ.

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

Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π›Π΅Π²ΠΎ()

Π‘Π°ΠΌΡ‹ΠΉ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΉ ΠΈ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ способ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ послСдний Π·Π½Π°ΠΊ β€” это Π²Π·ΡΡ‚ΡŒ Π»Π΅Π²ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ строки, Π΄Π»ΠΈΠ½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ мСньшС исходной. Для этого Π² языкС запросов ΠΈ встроСнном языкС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ функция Π›Π΅Π²ΠΎ(). Π›ΠΎΠ³ΠΈΠΊΠ° проста: ΠΌΡ‹ вычисляСм Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ строки, Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π΅ΠΌ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ ΠΈ Π±Π΅Ρ€Π΅ΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ количСство символов слСва.

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ являСтся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ для простых случаСв, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ‚ΠΎΡ‡Π½ΠΎ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹, Ρ‡Ρ‚ΠΎ строка Π½Π΅ пустая. Если ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ ΠΈΠ»ΠΈ ноль, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ прСдсказуСмым β€” пустая строка, Ρ‡Ρ‚ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΡƒΠ΄ΠΎΠ±Π½ΠΎ, Π½ΠΎ Ρ‡Π°Ρ‰Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°, Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ этот ΠΏΠΎΠ΄Ρ…ΠΎΠ΄:

Π˜ΡΡ…ΠΎΠ΄Π½Π°ΡΠ‘Ρ‚Ρ€ΠΎΠΊΠ° = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚!";

Если Π‘Ρ‚Ρ€Π”Π»ΠΈΠ½Π°(Π˜ΡΡ…ΠΎΠ΄Π½Π°ΡΠ‘Ρ‚Ρ€ΠΎΠΊΠ°) > 0 Π’ΠΎΠ³Π΄Π°

НоваяБтрока = Π›Π΅Π²ΠΎ(Π˜ΡΡ…ΠΎΠ΄Π½Π°ΡΠ‘Ρ‚Ρ€ΠΎΠΊΠ°, Π‘Ρ‚Ρ€Π”Π»ΠΈΠ½Π°(Π˜ΡΡ…ΠΎΠ΄Π½Π°ΡΠ‘Ρ‚Ρ€ΠΎΠΊΠ°) - 1);

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

ИспользованиС Π‘Ρ‚Ρ€Π”Π»ΠΈΠ½Π°() ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ТСстко Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ число символов Π»ΠΈΡˆΠ°Π΅Ρ‚ ΠΊΠΎΠ΄ гибкости.

πŸ’‘

ВсСгда провСряйтС строку Π½Π° пустоту ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅ΠΌ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ ΠΈΠ· Π΄Π»ΠΈΠ½Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ логичСских ошибок, хотя функция Π›Π΅Π²ΠΎ просто Π²Π΅Ρ€Π½Π΅Ρ‚ ΠΏΡƒΡΡ‚ΡƒΡŽ строку ΠΏΡ€ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π΅.

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠŸΡ€Π°Π²()

Π₯отя ΠΌΠ΅Ρ‚ΠΎΠ΄ с Π›Π΅Π²ΠΎ() каТСтся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ, ΠΈΠ½ΠΎΠ³Π΄Π° ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠŸΡ€Π°Π²ΠΎ() Π² сочСтании с вычислСниСм ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ. Однако, для удалСния ΠΈΠΌΠ΅Π½Π½ΠΎ послСднСго символа этот ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΌΠ΅Π½Π΅Π΅ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π΅Π½, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ знания Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ отбрасываСм хвост. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°Ρ…, Π³Π΄Π΅ ΠΌΡ‹ ΡƒΠΆΠ΅ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΡ€Π°Π²Ρ‹ΠΌΠΈ частями, это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ умСстно.

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

  • πŸ”Ή Ѐункция ΠŸΡ€Π°Π²ΠΎ Ρ‡Π°Ρ‰Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для получСния Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ суффикса.
  • πŸ”Ή Ѐункция Π›Π΅Π²ΠΎ идСальна для ΠΎΠ±Ρ€Π΅Π·ΠΊΠΈ константной части ΠΈΠ»ΠΈ прСфикса.
  • πŸ”Ή ΠšΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ позволяСт Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ парсинга.

Если ваша Π·Π°Π΄Π°Ρ‡Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ послСднСго символа Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ условии, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Ρ€Π°Π²Π΅Π½ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚ΠΎΡ‡ΠΊΠ΅), Ρ‚ΠΎ Π»ΠΎΠ³ΠΈΠΊΠ° услоТняСтся. Π’Π°ΠΌ потрСбуСтся сначала ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ послСдний символ Ρ‡Π΅Ρ€Π΅Π· ΠŸΡ€Π°Π²ΠΎ(Π‘Ρ‚Ρ€ΠΎΠΊΠ°, 1), ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π΅Π·ΠΊΡƒ.

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

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° пустых строк ΠΈ Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ ошибок

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

Π₯отя ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ достаточно лояльна ΠΈ функция Π›Π΅Π²ΠΎ("", -1) Π²Π΅Ρ€Π½Π΅Ρ‚ просто ΠΏΡƒΡΡ‚ΡƒΡŽ строку, Π½Π΅ Π²Ρ‹Π·Π²Π°Π² критичСского ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π½Π° это ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π΅ стоит. Π₯ΠΎΡ€ΠΎΡˆΠΈΠΉ Ρ‚ΠΎΠ½ программирования Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ явной ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ условий.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Никогда Π½Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎ строка всСгда содСрТит Π΄Π°Π½Π½Ρ‹Π΅. Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈΠ»ΠΈ Π²Π½Π΅ΡˆΠ½ΠΈΡ… систСм ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ нСпрСдсказуСмыми.

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

Ѐункция Π£Π΄Π°Π»ΠΈΡ‚ΡŒΠŸΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉΠ‘ΠΈΠΌΠ²ΠΎΠ»(Π—Π½Π°Ρ‡ ВСкст)

Если Π‘Ρ‚Ρ€Π”Π»ΠΈΠ½Π°(ВСкст) = 0 Π’ΠΎΠ³Π΄Π°

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ "";

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

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π›Π΅Π²ΠΎ(ВСкст, Π‘Ρ‚Ρ€Π”Π»ΠΈΠ½Π°(ВСкст) - 1);

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

Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ ваша функция всСгда Π²Π΅Ρ€Π½Π΅Ρ‚ строку, Π΄Π°ΠΆΠ΅ Ссли Π½Π° Π²Ρ…ΠΎΠ΄ ΠΏΠΎΠ΄Π°Π»ΠΈ Null (послС ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ) ΠΈΠ»ΠΈ пустоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π­Ρ‚ΠΎ особСнно Π²Π°ΠΆΠ½ΠΎ ΠΏΡ€ΠΈ массовой ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Ρ… частСй Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².

πŸ’‘

Явная ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π΄Π»ΠΈΠ½Ρ‹ строки ΠΏΠ΅Ρ€Π΅Π΄ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ β€” ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ Π·Ρ€Π΅Π»ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π»Π΅Π³Ρ‡Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΈ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ.

Π Π°Π±ΠΎΡ‚Π° с ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Π‘ΠΎΠΊΡ€Π›

Частным, Π½ΠΎ ΠΎΡ‡Π΅Π½ΡŒ распространСнным случаСм удалСния послСднСго символа являСтся ΠΎΠ±Ρ€Π΅Π·ΠΊΠ° Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ². Для этой Ρ†Π΅Π»ΠΈ Π² 1Π‘ сущСствуСт спСциализированная функция Π‘ΠΎΠΊΡ€Π›() (Π‘ΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Π›Π΅Π²Ρ‹Π΅? НСт, Π‘ΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Π›ΠΈΡˆΠ½ΠΈΠ΅ справа β€” Π½Π° самом Π΄Π΅Π»Π΅ ΠΎΠ½Π° удаляСт ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ справа, хотя Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ±ΠΈΠ²Π°Ρ‚ΡŒ с Ρ‚ΠΎΠ»ΠΊΡƒ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ², ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π΅Π΅ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ "Π‘ΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Π›ΠΈΡˆΠ½ΠΈΠ΅").

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

Ѐункция ДСйствиС ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°
Π‘ΠΎΠΊΡ€Π›("А Π‘ Π’ ") УдаляСт всС ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ справа "А Π‘ Π’"
Π›Π΅Π²ΠΎ("А Π‘ Π’ ", 5) Π‘Π΅Ρ€Π΅Ρ‚ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ 5 символов "А Π‘ "
Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ(..) ЗамСняСт вхоТдСния Зависит ΠΎΡ‚ контСкста

ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ функция Π‘ΠΎΠΊΡ€Π› Π½Π΅ удаляСт Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Π΅ символы, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ табуляция ΠΈΠ»ΠΈ символы ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° строки, Ссли ΠΎΠ½ΠΈ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ Π² ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ стандарта ASCII/Unicode, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ 1Π‘.

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ символа ΠΏΠΎ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ

Π’ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° часто встрСчаСтся Π·Π°Π΄Π°Ρ‡Π°: "ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ послСдний символ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли ΠΎΠ½ являСтся запятой". Π‘Π»Π΅ΠΏΠΎΠ΅ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ послСднСго символа Π² Ρ‚Π°ΠΊΠΈΡ… случаях нСдопустимо, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΊΠ°Π·ΠΈΡ‚ΡŒ смысл Π΄Π°Π½Π½Ρ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΡ‚Ρ€Π΅Π·Π°Ρ‚ΡŒ Π±ΡƒΠΊΠ²Ρƒ Π² словС).

Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π°ΠΊΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ сначала ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ послСдний символ ΠΈ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ с Ρ†Π΅Π»Π΅Π²Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ. Волько Π² случаС совпадСния выполняСтся опСрация усСчСния строки.

Если ΠŸΡ€Π°Π²(Π˜ΡΡ…ΠΎΠ΄Π½Π°ΡΠ‘Ρ‚Ρ€ΠΎΠΊΠ°, 1) = "," Π’ΠΎΠ³Π΄Π°

Π˜ΡΡ…ΠΎΠ΄Π½Π°ΡΠ‘Ρ‚Ρ€ΠΎΠΊΠ° = Π›Π΅Π²ΠΎ(Π˜ΡΡ…ΠΎΠ΄Π½Π°ΡΠ‘Ρ‚Ρ€ΠΎΠΊΠ°, Π‘Ρ‚Ρ€Π”Π»ΠΈΠ½Π°(Π˜ΡΡ…ΠΎΠ΄Π½Π°ΡΠ‘Ρ‚Ρ€ΠΎΠΊΠ°) - 1);

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

Π­Ρ‚ΠΎΡ‚ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ списков Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ для Π²Ρ‹Π²ΠΎΠ΄Π° Π² ΠΏΠ΅Ρ‡Π°Ρ‚Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ парсингС CSV-Ρ„Π°ΠΉΠ»ΠΎΠ², Π³Π΄Π΅ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ‚ΠΎΡΡ‚ΡŒ Π² ΠΊΠΎΠ½Ρ†Π΅ строки лишним символом.

Нюанс сравнСния символов

ΠŸΡ€ΠΈ сравнСнии символов ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ рСгистр. Запятая ΠΈ Ρ‚ΠΎΡ‡ΠΊΠ° ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹, Π½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ вводят ΠΏΠΎΠ»Π½Ρ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ вмСсто запятых, Ρ‡Ρ‚ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Π΅ символы

Π‘ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ΠΌ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ Π² Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹, вопрос ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ стал Π±ΠΎΠ»Π΅Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками Π² 1Π‘, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ символами Unicode, Π° Π½Π΅ Π±Π°ΠΉΡ‚Π°ΠΌΠΈ. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ смайлики, ΠΈΠ΅Ρ€ΠΎΠ³Π»ΠΈΡ„Ρ‹ ΠΈΠ»ΠΈ Π±ΡƒΠΊΠ²Ρ‹ с диакритичСскими Π·Π½Π°ΠΊΠ°ΠΌΠΈ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ Π·Π° ΠΎΠ΄ΠΈΠ½ символ.

Однако, Ссли Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с внСшними Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Ρ‡Π΅Ρ€Π΅Π· ЧтСниСВСкста ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ ΠΎΡ‚Π²Π΅Ρ‚ ΠΎΡ‚ HTTP-сСрвиса Π² спСцифичСской ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅, ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ситуации, ΠΊΠΎΠ³Π΄Π° Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ символ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ большС мСста Π² памяти. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ Π±Π΅Ρ€Π΅Ρ‚ это Π½Π° сСбя, Π½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»Π΅Π½ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Ρ‚Π°ΠΊΠΈΡ… строк Π²ΠΎ внСшниС систСмы, Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ Unicode.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Ρ‡Π΅Ρ€Π΅Π· SQL (Ρ‡Ρ‚ΠΎ Π½Π΅ рСкомСндуСтся) Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ±Ρ€Π΅Π·ΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π±Π°ΠΉΡ‚Π°ΠΌΠΈ, Π° Π½Π΅ символами, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ "Π±ΠΈΡ‚Ρ‹ΠΌ" Π΄Π°Π½Π½Ρ‹ΠΌ ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΠΊΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Ρ‹.

Π’ стандартном встроСнном языкС 1Π‘ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Ρ… символов Ρ€Π΅ΡˆΠ΅Π½Π° ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. Ѐункция Π‘Ρ‚Ρ€Π”Π»ΠΈΠ½Π° Π²Π΅Ρ€Π½Π΅Ρ‚ количСство Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… символов, Π° Π½Π΅ Π±Π°ΠΉΡ‚, поэтому Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ с Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅ΠΌ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ останСтся Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ Π΄Π°ΠΆΠ΅ для эмодзи.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° строки ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠ±Ρ€Π΅Π·ΠΊΠΎΠΉ

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы (FAQ)

Π§Ρ‚ΠΎ Π²Π΅Ρ€Π½Π΅Ρ‚ функция Π›Π΅Π²ΠΎ, Ссли Π΄Π»ΠΈΠ½Π° ΡƒΠΊΠ°Π·Π°Π½Π° большС Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ?

Ѐункция Π›Π΅Π²ΠΎ Π²Π΅Ρ€Π½Π΅Ρ‚ всю ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ строку Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ. Она Π½Π΅ дополняСт строку ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ символами, Ссли Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌΠ°Ρ Π΄Π»ΠΈΠ½Π° ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ Ρ„Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ.

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

Π›ΠΎΠ³ΠΈΠΊΠ° Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Π° ΡƒΠ΄Π°Π»Π΅Π½ΠΈΡŽ ΠΎΠ΄Π½ΠΎΠ³ΠΎ символа. НуТно Π²Ρ‹Ρ‡Π΅ΡΡ‚ΡŒ Π΄Π²ΠΎΠΉΠΊΡƒ ΠΈΠ· Π΄Π»ΠΈΠ½Ρ‹: Π›Π΅Π²ΠΎ(Π‘Ρ‚Ρ€ΠΎΠΊΠ°, Π‘Ρ‚Ρ€Π”Π»ΠΈΠ½Π°(Π‘Ρ‚Ρ€ΠΎΠΊΠ°) - 2). НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄Π»ΠΈΠ½Π° строки большС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½Π° Π΄Π²ΡƒΠΌ.

МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ для удалСния послСднСго символа?

ВСорСтичСски ΠΌΠΎΠΆΠ½ΠΎ, Ссли Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ подстроку "символ Π² ΠΊΠΎΠ½Ρ†Π΅" Π½Π° ΠΏΡƒΡΡ‚ΡƒΡŽ строку. Но это нСэффСктивно ΠΈ опасно, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ функция ΡƒΠ΄Π°Π»ΠΈΡ‚ всС вхоТдСния этого символа Π² строкС, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послСдний.

ВлияСт Π»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ символа Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² записСй?

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ со строками ΡΠΎΠ·Π΄Π°ΡŽΡ‚ Π½ΠΎΠ²Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² памяти. ΠŸΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Ρ… массивов Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ†ΠΈΠΊΠ»Π΅ это ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° сборщик мусора. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΡƒΡ„Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈΠ»ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹.