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

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

ΠœΡ‹ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ ΠΊΠ°ΠΊ стандартныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ строк, Ρ‚Π°ΠΊ ΠΈ Π±ΠΎΠ»Π΅Π΅ слоТныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ с использованиСм рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡƒΠ΄Π΅Π»ΠΈΠΌ различиям ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠΌ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Π²ΠΈΠ΄Π°ΠΌΠΈ whitespace-символов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ часто ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΈΠ· Π²Π½Π΅ΡˆΠ½ΠΈΡ… источников. Π—Π½Π°Π½ΠΈΠ΅ этих особСнностСй ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Π°ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ ошибок ΠΏΡ€ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ систСмами.

Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ поиска символов Π² 1Π‘

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ поиска ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ символа Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ сущСствуСт встроСнная функция Найти(). Она Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ вхоТдСния искомой подстроки. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Π΅ΡΡ‚ΡŒ Π»ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π» Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, достаточно ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π² качСствС Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° строку, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΎΠ±Π΅Π». Ѐункция Π²Π΅Ρ€Π½Π΅Ρ‚ число, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰Π΅Π΅ индСкс, ΠΈΠ»ΠΈ ноль, Ссли символ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½.

Однако простой поиск часто нСдостаточСн для качСствСнной ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. НСобходимо ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠ³ ввСсти нСсколько ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² подряд. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях Π»ΠΎΠ³ΠΈΡ‡Π½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ() для удалСния Π»ΠΈΡˆΠ½ΠΈΡ… символов ΠΈΠ»ΠΈ цикличСский ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Ѐункция Найти() Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Π° ΠΊ рСгистру Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Π²Ρ‹ ΠΈΡ‰Π΅Ρ‚Π΅ Π±ΡƒΠΊΠ²Ρ‹, Π½ΠΎ для ΠΏΡ€ΠΎΠ±Π΅Π»Π° это Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния. Однако ΠΎΠ½Π° Π½Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π°Π΅Ρ‚ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ±Π΅Π» (ΠΊΠΎΠ΄ 32) ΠΈ Π½Π΅Ρ€Π°Π·Ρ€Ρ‹Π²Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ±Π΅Π» (ΠΊΠΎΠ΄ 160), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ часто ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ ΠΈΠ· Π²Π΅Π±-Ρ„ΠΎΡ€ΠΌ ΠΈΠ»ΠΈ Word.

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

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ БтрНачинаСтсяБ() ΠΈ БтрЗаканчиваСтсяБ() для быстрой ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ наличия ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² ΠΏΠΎ краям строки Π±Π΅Π· нСобходимости вычислСния ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ символа Π²Π½ΡƒΡ‚Ρ€ΠΈ тСкста.

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π»ΠΈΡˆΠ½ΠΈΡ… ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ тСкста

Часто Π·Π°Π΄Π°Ρ‡Π° сводится Π½Π΅ просто ΠΊ поиску, Π° ΠΊ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡŽ строки ΠΊ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠΌΡƒ Π²ΠΈΠ΄Ρƒ. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ позволяСт эффСктивно Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ эти вопросы. НаиболСС вострСбованным инструмСнтом являСтся функция Π‘ΠΎΠΊΡ€Π›(), Π‘ΠΎΠΊΡ€ΠŸ() ΠΈ Π‘ΠΎΠΊΡ€(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ слСва, справа ΠΈΠ»ΠΈ с ΠΎΠ±Π΅ΠΈΡ… сторон соотвСтствСнно.

Если ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² мноТСствСнных ΠΏΡ€ΠΎΠ±Π΅Π»Π°Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ словами, ситуация услоТняСтся. ΠŸΡ€ΠΎΡΡ‚ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ удалСния ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСдостаточно, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ словами. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ Ρ†ΠΈΠΊΠ»Ρ‹ ΠΈΠ»ΠΈ рСгулярныС выраТСния для Π·Π°ΠΌΠ΅Π½Ρ‹ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² Π½Π° ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹ΠΉ символ.

  • 🧹 Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π‘ΠΎΠΊΡ€Π›() для очистки ΠΊΠΎΠ΄ΠΎΠ² Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² ΠΎΡ‚ случайных Π½Π°ΠΆΠ°Ρ‚ΠΈΠΉ ΠΏΡ€ΠΎΠ±Π΅Π»Π° ΠΏΠ΅Ρ€Π΅Π΄ Π²Π²ΠΎΠ΄ΠΎΠΌ.
  • βœ‚οΈ ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠΉΡ‚Π΅ Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ() для Π·Π°ΠΌΠ΅Π½Ρ‹ Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² Π½Π° ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ Π² Ρ†ΠΈΠΊΠ»Π΅ Π΄ΠΎ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ исчСзновСния Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ.
  • πŸ“ Ѐункция Π€ΠΎΡ€ΠΌΠ°Ρ‚() ΠΌΠΎΠΆΠ΅Ρ‚ автоматичСски ΠΎΠ±Ρ€Π΅Π·Π°Ρ‚ΡŒ лишниС ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ чисСл Π² строку, Ссли Π½Π΅ Π·Π°Π΄Π°Π½Ρ‹ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹.

ΠŸΡ€ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ ΠΈΠ»ΠΈ счСта-Ρ„Π°ΠΊΡ‚ΡƒΡ€Ρ‹, Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π»ΠΈΡˆΠ½ΠΈΡ… ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΡΠΌΠ΅Ρ‰Π΅Π½ΠΈΡŽ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΠΈΠ»ΠΈ пСрСносу строк Π² Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… мСстах. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ этап ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ очистки Π΄Π°Π½Π½Ρ‹Ρ… (валидация) Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠ΅Ρ€Π΅Π΄ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². Π­Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΈΠ΄ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌ.

β˜‘οΈ Алгоритм очистки строки

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

Π Π°Π±ΠΎΡ‚Π° с Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌΠΈ символами ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ

Бамая коварная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ со строками β€” это Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ символов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ выглядят ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹, Π½ΠΎ Ρ‚Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ. К Π½ΠΈΠΌ относятся символ табуляции (Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹.Π’Π°Π±), Π½Π΅Ρ€Π°Π·Ρ€Ρ‹Π²Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ±Π΅Π», ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ строки (Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹.ПБ) ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠΈ. ΠŸΡ€ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π° ΠΈΠ»ΠΈ старых Π±Π°Π· 1Π‘ Ρ‚Π°ΠΊΠΈΠ΅ символы Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ повсСмСстно.

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ ΠΈ ΠΎΠ±Π΅Π·Π²Ρ€Π΅Π΄ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ символы, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΊΠΎΠ΄Π°ΠΌΠΈ. Π’ 1Π‘ Π΅ΡΡ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит константы для Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ частых случаСв. Однако для ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ контроля Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ КодБимвола(), которая Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ числовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ символа ΠΏΠΎ Π΅Π³ΠΎ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π² строкС. Π­Ρ‚ΠΎ позволяСт Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ.

Π’ΠΈΠΏ символа ОписаниС Код (DEC) ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Π° 1Π‘
ΠžΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ±Π΅Π» Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ слов 32 " "
НСразрывный ΠΏΡ€ΠΎΠ±Π΅Π» Π—Π°ΠΏΡ€Π΅Ρ‰Π°Π΅Ρ‚ пСрСнос строки 160 НСт (Ρ‡Π΅Ρ€Π΅Π· КодБимвола)
Вабуляция Π‘Π΄Π²ΠΈΠ³ курсора 9 Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹.Π’Π°Π±
ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ строки Новая строка (LF) 10 Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹.ПБ

Для поиска Ρ‚Π°ΠΊΠΈΡ… символов ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎ всСй строкС ΠΈ провСряСт ΠΊΠΎΠ΄ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ символа. Если ΠΊΠΎΠ΄ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΏΡ€ΠΎΠ±Π΅Π»ΡŒΠ½Ρ‹Ρ… символов (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΡ‚ 9 Π΄ΠΎ 13 ΠΈ 32, Π° Ρ‚Π°ΠΊΠΆΠ΅ 160), систСма ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ эту ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΈΠ»ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ символ Π½Π° стандартный ΠΏΡ€ΠΎΠ±Π΅Π». Π­Ρ‚ΠΎ обСспСчиваСт ΡƒΠ½ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ….

Как Π½Π°ΠΉΡ‚ΠΈ ΠΊΠΎΠ΄ символа Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ?

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Консоль Запросов ΠΈΠ»ΠΈ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ: Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(КодБимвола(" ", 1)); Для Π½Π΅Ρ€Π°Π·Ρ€Ρ‹Π²Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ±Π΅Π»Π° скопируйтС Π΅Π³ΠΎ ΠΈΠ· источника ΠΈ Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ вмСсто ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ±Π΅Π»Π°.

Поиск ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

Для слоТных сцСнариСв поиска ΠΈ Π·Π°ΠΌΠ΅Π½Ρ‹ стандартных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ языка ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСдостаточно. РСгулярныС выраТСния Π² 1Π‘ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнтарий для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с шаблонами строк. Класс РСгулярноСВыраТСниС позволяСт Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π΅ просто ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ символ, Π° Π³Ρ€ΡƒΠΏΠΏΡ‹ символов, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρƒ.

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ всС ΠΏΡ€ΠΎΠ±Π΅Π»ΡŒΠ½Ρ‹Π΅ символы (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ табуляции ΠΈ пСрСносы строк) ΠΎΠ΄Π½ΠΈΠΌ ΠΌΠ°Ρ…ΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ спСцсимвол \s. Он соотвСтствуСт Π»ΡŽΠ±ΠΎΠΌΡƒ whitespace-символу. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΊΠΎΠ΄ очистки, позволяя Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ всю ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π»ΠΈΡˆΠ½ΠΈΡ… символов ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ, вмСсто написания Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠΈΡ… Ρ†ΠΈΠΊΠ»ΠΎΠ².

РСгулярка = Новый РСгулярноСВыраТСниС("\s+");

Π’Π΅ΠΊΡΡ‚ΠžΡ‡ΠΈΡ‰Π΅Π½Π½Ρ‹ΠΉ = РСгулярка.Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ(Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉΠ’Π΅ΠΊΡΡ‚, " ");

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: РСгулярныС выраТСния Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈΠ»ΠΈ использования встроСнного ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² соврСмСнных вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ (8.3.10+). Π’ старых вСрсиях ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ внСшняя ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°.

πŸ“Š Какой ΠΌΠ΅Ρ‚ΠΎΠ΄ поиска ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅?
Ѐункция Найти()
РСгулярныС выраТСния
Цикл по символам
Π’Π½Π΅ΡˆΠ½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ поиска Π² запросах ΠΈ консоли

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· язык запросов 1Π‘ ситуация отличаСтся ΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅. Π’ запросах нСльзя Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ очистки строки нСпосрСдствСнно Π² условии ΠΎΡ‚Π±ΠΎΡ€Π° Ρ‚Π°ΠΊ ΠΆΠ΅ Π³ΠΈΠ±ΠΊΠΎ, ΠΊΠ°ΠΊ Π² ΠΊΠΎΠ΄Π΅. Однако ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° прСдоставляСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками прямо Π² тСкстС запроса, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π›Π•Π’Πž(), ΠŸΠ ΠΠ’Πž() ΠΈΠ»ΠΈ ΠŸΠžΠ”ΠžΠ‘ΠΠž().

Ѐункция ΠŸΠžΠ”ΠžΠ‘ΠΠž() позволяСт ΠΈΡΠΊΠ°Ρ‚ΡŒ строки, содСрТащиС ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ символ подстановки %. НапримСр, условиС `Π“Π΄Π΅ НаимСнованиС ΠŸΠžΠ”ΠžΠ‘ΠΠž "% %"` Π½Π°ΠΉΠ΄Π΅Ρ‚ всС записи, Π³Π΄Π΅ Π΅ΡΡ‚ΡŒ хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΎΠ±Π΅Π». Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ, Π½ΠΎ Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°.

Если Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΉΡ‚ΠΈ записи, Π³Π΄Π΅ ΠΏΠΎΠ»Π΅ содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈΠ»ΠΈ пустоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π²Π°ΠΆΠ½ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒ эти понятия. ΠŸΡƒΡΡ‚Π°Ρ строка ("") ΠΈ строка ΠΈΠ· ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² (" ") Π² 1Π‘ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ значСниями. Для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Π² запросС часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π•Π‘Π’Π¬ΠŸΠ£Π‘Π’ΠžΠ™() Π² сочСтании с Π‘ΠžΠšΠ Π›ΠŸ().

  • πŸ” Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠŸΠžΠ”ΠžΠ‘ΠΠž для быстрого поиска строк с вхоТдСниями ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² Π² Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π²Ρ‹Π±ΠΎΡ€ΠΊΠ°Ρ….
  • πŸ›‘οΈ ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠΉΡ‚Π΅ Π‘ΠžΠšΠ Π›ΠŸ() Π² условии Π“Π”Π• для игнорирования ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² ΠΏΠΎ краям ΠΏΡ€ΠΈ сравнСнии.
  • ⚑ Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ строк Π² условиях соСдинСния Ρ‚Π°Π±Π»ΠΈΡ† (JOIN), это Ρ€Π΅Π·ΠΊΠΎ сниТаСт ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ запроса.

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

πŸ’‘

ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ запросов ΠΏΠ°Π΄Π°Π΅Ρ‚ ΠΏΡ€ΠΈ использовании Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ строк Π² условиях ΠΎΡ‚Π±ΠΎΡ€Π°. Π›ΡƒΡ‡ΡˆΠ΅ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈΡ… Π² ΠΊΠΎΠ΄Π΅, Ссли Π²Ρ‹Π±ΠΎΡ€ΠΊΠ° Π½Π΅ критичСски Π²Π΅Π»ΠΈΠΊΠ°.

Автоматизация контроля качСства Π΄Π°Π½Π½Ρ‹Ρ…

Π ΡƒΡ‡Π½ΠΎΠΉ поиск ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² β€” это Ρ‚ΡƒΠΏΠΈΠΊΠΎΠ²Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… объСмов Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² создании ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² автоматичСского контроля. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, которая рСгулярно сканируСт ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ справочники (НомСнклатура, ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Ρ‹) Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Ρ… символов.

Вакая ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Π·Π°Π΄Π°Π½ΠΈΠΈ ΠΈΠ»ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². Она собираСт статистику ошибок ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΡ‚Ρ‡Π΅Ρ‚, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ элСмСнты ΠΈ Ρ‚ΠΈΠΏΡ‹ Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Π­Ρ‚ΠΎ позволяСт администраторам Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅Ρ‡Π½ΠΎ ΠΈΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ошибки.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ элСмСнта. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ событиС ΠŸΡ€ΠΈΠ—Π°ΠΏΠΈΡΠΈ ΠΈΠ»ΠΈ ΠŸΠ΅Ρ€Π΅Π΄Π—Π°ΠΏΠΈΡΡŒΡŽ, систСма ΠΌΠΎΠΆΠ΅Ρ‚ автоматичСски ΠΎΡ‡ΠΈΡ‰Π°Ρ‚ΡŒ поля ΠΎΡ‚ Π»ΠΈΡˆΠ½ΠΈΡ… ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² ΠΏΠ΅Ρ€Π΅Π΄ сохранСниСм Π² Π±Π°Π·Ρƒ. Π­Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½ΠΈΠ΅ "мусора" Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΈ сниТаСт Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: АвтоматичСская Π·Π°ΠΌΠ΅Π½Π° символов ΠΏΡ€ΠΈ записи ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ смысл Π΄Π°Π½Π½Ρ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² паролях ΠΈΠ»ΠΈ спСцифичСских ΠΊΠΎΠ΄Π°Ρ…). ВсСгда согласовывайтС ΠΏΡ€Π°Π²ΠΈΠ»Π° очистки с бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ прСдприятия.

Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€Π°Π²ΠΈΠ» Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ ΠΎΠ±Ρ‰ΡƒΡŽ ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€Ρƒ вСдСния ΡƒΡ‡Π΅Ρ‚Π° Π² систСмС. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ°ΡŽΡ‚ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ, видя подсказки систСмы, Π° ΠΎΡ‚Ρ‡Π΅Ρ‚Ρ‹ становятся Π±ΠΎΠ»Π΅Π΅ Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ ΠΈ достовСрными. Π˜Π½Π²Π΅ΡΡ‚ΠΈΡ†ΠΈΠΈ врСмя Π² настройку автоматичСской очистки ΠΎΠΊΡƒΠΏΠ°ΡŽΡ‚ΡΡ сниТСниСм количСства ошибок Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ….

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΡ€ΠΈ записи

Если НС БтрНачинаСтсяБ(ΠžΠ±ΡŠΠ΅ΠΊΡ‚.НаимСнованиС, Π‘ΠΎΠΊΡ€Π›(ΠžΠ±ΡŠΠ΅ΠΊΡ‚.НаимСнованиС)) Π’ΠΎΠ³Π΄Π°; Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("Π•ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ Π² Π½Π°Ρ‡Π°Π»Π΅!"); ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

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

Как Π½Π°ΠΉΡ‚ΠΈ всС ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² Π² строкС, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²ΡƒΡŽ?

Ѐункция Найти() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ всС, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ». Π’ Ρ‚Π΅Π»Π΅ Ρ†ΠΈΠΊΠ»Π° Π²Ρ‹Π·Ρ‹Π²Π°ΠΉΡ‚Π΅ Найти(), указывая Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ β€” Π½ΠΎΠΌΠ΅Ρ€ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ поиск (прСдыдущая найдСнная позиция + 1). Π¦ΠΈΠΊΠ» продолТаСтся, ΠΏΠΎΠΊΠ° функция Π½Π΅ Π²Π΅Ρ€Π½Π΅Ρ‚ 0.

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π‘ΠΎΠΊΡ€Π› ΠΈ Π‘ΠΎΠΊΡ€ΠŸ?

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

МоТно Π»ΠΈ Π½Π°ΠΉΡ‚ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π» с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° LIKE Π² запросС?

Π’ языкС запросов 1Π‘ Π°Π½Π°Π»ΠΎΠ³ΠΎΠΌ LIKE являСтся ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠŸΠžΠ”ΠžΠ‘ΠΠž. Для поиска ΠΏΡ€ΠΎΠ±Π΅Π»Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ шаблон "% %" (ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚, ΠΏΡ€ΠΎΠ±Π΅Π», ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚). Π­Ρ‚ΠΎ Π½Π°ΠΉΠ΄Π΅Ρ‚ всС строки, содСрТащиС хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΎΠ±Π΅Π» Π² любом мСстС.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ функция Найти Π½Π΅ Π²ΠΈΠ΄ΠΈΡ‚ ΠΏΡ€ΠΎΠ±Π΅Π», хотя ΠΎΠ½ Π΅ΡΡ‚ΡŒ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ?

Π‘ΠΊΠΎΡ€Π΅Π΅ всСго, Π² строкС находится Π½Π΅ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ±Π΅Π» (ΠΊΠΎΠ΄ 32), Π° Π½Π΅Ρ€Π°Π·Ρ€Ρ‹Π²Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ±Π΅Π» (ΠΊΠΎΠ΄ 160) ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ спСцсимвол (табуляция). Π’ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΎΠ½ΠΈ Π½Π΅ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΌΡ‹. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ КодБимвола() для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΊΠΎΠ΄Π° символа Π² ΠΏΠΎΠ΄ΠΎΠ·Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ.

Как Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ всС Π²ΠΈΠ΄Ρ‹ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² Π½Π° ΠΎΠ΄ΠΈΠ½ стандартный?

Π›ΡƒΡ‡ΡˆΠΈΠΉ способ β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ рСгулярноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ с ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ΠΎΠΌ \s+, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ замСняСт Π»ΡŽΠ±ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π»ΡŒΠ½Ρ‹Ρ… символов Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ±Π΅Π». ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° β€” ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ для табуляции, Π½Π΅Ρ€Π°Π·Ρ€Ρ‹Π²Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ±Π΅Π»Π° ΠΈ Ρ‚.Π΄.