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

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

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

Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ языка запросов для поиска тСкста

Π‘Π°ΠΌΡ‹ΠΉ распространСнный сцСнарий использования поиска части строки Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Π±Π°Π·Ρ‹. Π’ языкС запросов 1Π‘ для этого ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° функция ΠŸΠžΠ”ΠžΠ‘ΠΠž ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ сравнСния. Однако для Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ опрСдСлСния ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΈΠ»ΠΈ Ρ„Π°ΠΊΡ‚Π° вхоТдСния Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π‘Π’Π ΠΠΠ™Π’Π˜ нСпосрСдствСнно Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ВЫБРАВЬ. Она Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ числовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ Π½Π° ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ вхоТдСния искомой подстроки.

Если подстрока Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°, функция Π²Π΅Ρ€Π½Π΅Ρ‚ ноль, Ρ‡Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² конструкции Π“Π”Π• для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ записСй. ΠŸΡ€ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… это ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΠΎΠ»Π½ΠΎΠΌΡƒ ΡΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ (Full Table Scan), Ρ‡Ρ‚ΠΎ сущСствСнно Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ систСмы Π² часы ΠΏΠΈΠΊΠΎΠ²ΠΎΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² запросС для поиска Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ², Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… встрСчаСтся слово "ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€". ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ, которая явно провСряСт Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° большС нуля.

ВЫБРАВЬ

НомСнклатура.Бсылка,

НомСнклатура.НаимСнованиС

Π˜Π—

Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.НомСнклатура КАК НомСнклатура

Π“Π”Π•

БВРОКА(НомСнклатура.НаимСнованиС) ΠŸΠžΠ”ΠžΠ‘ΠΠž "%ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€%"

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ с использованиСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π‘Π’Π ΠΠΠ™Π’Π˜ позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, сортировку ΠΏΠΎ рСлСвантности ΠΈΠ»ΠΈ вычислСниС ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ вхоТдСния для дальнСйшСй ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°, ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‰Π°Ρ основныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Π² запросах.

ΠœΠ΅Ρ‚ΠΎΠ΄ Π§ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊ рСгистру ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π“ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ
ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠŸΠžΠ”ΠžΠ‘ΠΠž Зависит ΠΎΡ‚ настроСк Π‘Π£Π‘Π” Высокая (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ индСксы) Низкая (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹)
Ѐункция Π‘Π’Π ΠžΠ§ΠΠ«Π™ НСт (ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π½ΠΈΠΆΠ½Π΅ΠΌΡƒ) БрСдняя БрСдняя
Ѐункция Π‘Π’Ρ€Π½Π°ΠΉΡ‚ΠΈ Π”Π° (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ) Низкая (ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€) Высокая (Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ)

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ использовании Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π‘Π’Π ΠΠΠ™Π’Π˜ Π² условии Π“Π”Π• большого запроса ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π½Π° ΠΏΠΎΠ»Π΅ Π½Π°Π»ΠΎΠΆΠ΅Π½ индСкс, ΠΈΠ½Π°Ρ‡Π΅ врСмя выполнСния ΠΌΠΎΠΆΠ΅Ρ‚ вырасти Π² Ρ€Π°Π·Ρ‹. Для тСкстовых ΠΏΠΎΠ»Π΅ΠΉ большого объСма Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ полнотСкстовый поиск.

πŸ’‘

Если Π²Ρ‹ ΠΈΡ‰Π΅Ρ‚Π΅ Ρ‡Π°ΡΡ‚ΡŒ строки Π±Π΅Π· ΡƒΡ‡Π΅Ρ‚Π° рСгистра Π² запросС, ΠΎΠ±Π΅Ρ€Π½ΠΈΡ‚Π΅ ΠΎΠ±Π° поля Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π‘Π’Π ΠžΠ§ΠΠ«Π™(), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: Π‘Π’Π ΠžΠ§ΠΠ«Π™(ПолС) ΠŸΠžΠ”ΠžΠ‘ΠΠž "%тСкст%". Π­Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ поиск нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Π²Π΅Π΄Π΅Π½Ρ‹ Π΄Π°Π½Π½Ρ‹Π΅.

Π Π°Π±ΠΎΡ‚Π° со строками Π² встроСнном языкС 1Π‘

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

Ѐункция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ число β€” ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ вхоТдСния. Если строка Π½Π΅ содСрТит искомый Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚, возвращаСтся 0. Π­Ρ‚ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ всСгда ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Π² условиях Если, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ошибок Π»ΠΎΠ³ΠΈΠΊΠΈ. БущСствуСт Ρ‚Π°ΠΊΠΆΠ΅ функция БтрНайти(), которая являСтся синонимом, Π½ΠΎ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ отличия Π² Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ, хотя Π² соврСмСнных Ρ€Π΅Π»ΠΈΠ·Π°Ρ… ΠΎΠ½ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ эквивалСнтны.

ΠžΡΠΎΠ±Ρ‹ΠΉ интСрСс прСдставляСт ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ направлСния поиска. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ поиск ΠΈΠ΄Π΅Ρ‚ с Π½Π°Ρ‡Π°Π»Π° строки, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΈ с ΠΊΠΎΠ½Ρ†Π°, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π·Π±ΠΎΡ€Π΅ ΠΏΡƒΡ‚Π΅ΠΉ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΈΠ»ΠΈ слоТных иСрархичСских ΠΈΠΌΠ΅Π½. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°, Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ поиск с ΠΊΠΎΠ½Ρ†Π° строки.

ΠŸΠΎΠ»Π½Ρ‹ΠΉΠŸΡƒΡ‚ΡŒ = "C:\Users\Admin\Documents\ΠžΡ‚Ρ‡Π΅Ρ‚.xml";

ИмяЀайла = Найти(ΠŸΠΎΠ»Π½Ρ‹ΠΉΠŸΡƒΡ‚ΡŒ, "\", , ΠΠ°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠŸΠΎΠΈΡΠΊΠ°.Π‘ΠšΠΎΠ½Ρ†Π°);

// Π’Π΅Ρ€Π½Π΅Ρ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ послСднСго слэша

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

Π’Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ поиском Π² строкС ΠΈ поиском Π² массивС ΠΈΠ»ΠΈ спискС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Ѐункция Найти() Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с тСкстовыми Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ элСмСнт Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΏΠΎ частичному совпадСнию названия, потрСбуСтся ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» с ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ΠΎΠΌ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ элСмСнту.

Поиск Π² Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Ρ… частях ΠΈ коллСкциях Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

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

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

Алгоритм дСйствий ΠΏΡ€ΠΈ поискС Π² Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉ части выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

  • πŸ” Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ для хранСния Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠΉ строки.
  • πŸ”„ ЗапуститС Ρ†ΠΈΠΊΠ» ΠΏΠΎ всСм строкам Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉ части.
  • πŸ“ ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Найти() ΠΊ Ρ†Π΅Π»Π΅Π²ΠΎΠΌΡƒ полю Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ строки.
  • βœ… Если Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ большС 0, ΠΏΡ€Π΅Ρ€Π²ΠΈΡ‚Π΅ Ρ†ΠΈΠΊΠ» ΠΈ сохранитС ссылку Π½Π° строку.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Никогда Π½Π΅ измСняйтС ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ (Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ строки) Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²Ρ‹ ΠΈΡ‰Π΅Ρ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС выполнСния ΠΈΠ»ΠΈ пропуску элСмСнтов. Π‘Π½Π°Ρ‡Π°Π»Π° Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ всС Π½ΡƒΠΆΠ½Ρ‹Π΅ строки, сохранитС ΠΈΡ… Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ список, ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡ‚ΠΎΠΌ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ.

β˜‘οΈ Алгоритм бСзопасного поиска Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅

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

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

Π£Ρ‡Π΅Ρ‚ рСгистра ΠΈ Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… символов

Одной ΠΈΠ· самых ΠΊΠΎΠ²Π°Ρ€Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΡ€ΠΈ поискС подстроки являСтся Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΎΠ·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ функция Найти() Π² 1Π‘ Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Π° ΠΊ рСгистру. Π‘Ρ‚Ρ€ΠΎΠΊΠ° "Москва" ΠΈ строка "москва" для систСмы Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ, ΠΈ поиск ΠΎΠ΄Π½ΠΎΠΉ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Π΅Ρ€Π½Π΅Ρ‚ 0. Π­Ρ‚ΠΎ часто ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°ΠΉΡ‚ΠΈ Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ ΠΈΠΌΠΈ Π΄Π°Π½Π½Ρ‹Π΅, Ссли случайно использовали Caps Lock ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΡƒΡŽ раскладку.

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

ΠŸΠΎΡ‡Π΅ΠΌΡƒ поиск Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Π±ΡƒΠΊΠ²ΠΎΠΉ 'Ρ‘'?

Π’ 1Π‘ Π±ΡƒΠΊΠ²Π° 'Ρ‘' ΠΈ 'Π΅' ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ символами. Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²Π΅Π΄Π΅Ρ‚ "ВсС", Π° Π² Π±Π°Π·Π΅ записано "Всё", поиск Π½Π΅ даст Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°. РСшСниС: ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ() для Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π·Π°ΠΌΠ΅Π½Ρ‹ 'Ρ‘' Π½Π° 'Π΅' ΠΏΠ΅Ρ€Π΅Π΄ поиском, Π»ΠΈΠ±ΠΎ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°.

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

ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ Π²Π°ΠΆΠ½Ρ‹ΠΌ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠΌ являСтся Ρ€Π°Π±ΠΎΡ‚Π° с ΠΏΡ€ΠΎΠ±Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ символами. Часто строка содСрТит лишниС ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ†Π΅, Ρ‡Ρ‚ΠΎ ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ подстроку, Ссли ΠΎΠ½Π° находится Ρƒ края. ВсСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π‘ΠΎΠΊΡ€Π›ΠŸ() ΠΏΠ΅Ρ€Π΅Π΄ сравнСниСм, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ лишнюю пустоту.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠ³ΡƒΡ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π² Π½ΠΎΠ²Ρ‹Ρ… вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. ВсСгда провСряйтС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ вСрсии 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… строковых Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΡ‚ΠΎΡ‡Π½Π΅Π½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

πŸ’‘

ВсСгда ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚Π΅ строки ΠΊ Π½ΠΈΠΆΠ½Π΅ΠΌΡƒ рСгистру ΠΈ удаляйтС лишниС ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄ поиском. Π­Ρ‚ΠΎ устраняСт 90% ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с "Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹ΠΌΠΈ" Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π° самом Π΄Π΅Π»Π΅ Π΅ΡΡ‚ΡŒ Π² Π±Π°Π·Π΅.

ΠŸΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ: РСгулярныС выраТСния

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

ИспользованиС рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ знания ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ синтаксиса мСтасимволов. НапримСр, символ \d ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π»ΡŽΠ±ΡƒΡŽ Ρ†ΠΈΡ„Ρ€Ρƒ, Π° * ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ символа ноль ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π·. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ шаблона ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ врСмя, Π½ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΎΠΏΡ€Π°Π²Π΄Ρ‹Π²Π°Π΅Ρ‚ Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ нСструктурированных тСкстов.

ВСкст = "ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚: +7(999)000-00-00, email: test@mail.ru";

Π¨Π°Π±Π»ΠΎΠ½ = "\+7\(\d{3}\)\d{3}-\d{2}-\d{2}";

Π Π΅Π³Π’Ρ‹Ρ€ = Новый РСгулярноСВыраТСниС(Π¨Π°Π±Π»ΠΎΠ½);

Π‘ΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ = Π Π΅Π³Π’Ρ‹Ρ€.НайтиБовпадСниС(ВСкст);

Если Π‘ΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅.УспСшно Π’ΠΎΠ³Π΄Π°

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("Π’Π΅Π»Π΅Ρ„ΠΎΠ½ Π½Π°ΠΉΠ΄Π΅Π½: " + Π‘ΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅.Π“Ρ€ΡƒΠΏΠΏΡ‹[0].Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅);

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

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

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈ поискС

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большими массивами Π΄Π°Π½Π½Ρ‹Ρ… ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ поиска становится критичСским Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ. Если Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΎΡ‚Ρ‡Π΅Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ тысячи Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ поиску подстроки ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя формирования с сСкунд Π΄ΠΎ ΠΌΠΈΠ½ΡƒΡ‚. Π“Π»Π°Π²Π½ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ β€” ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ количСство ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ².

Π‘Ρ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Π½Π° ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ запроса ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, Π³Π΄Π΅ Π΄Π²ΠΈΠΆΠΎΠΊ Π‘Π£Π‘Π” ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ индСксы. Если поиск Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π² ΠΊΠΎΠ΄Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… для ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π³Ρ€ΡƒΠ±ΠΎΠΉ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ, Π° Ρ‚ΠΎΡ‡Π½Ρ‹ΠΉ поиск ΠΏΠΎ подстрокС примСняйтС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ, ΠΌΠ΅Π½ΡŒΡˆΠ΅ΠΌΡƒ Π½Π°Π±ΠΎΡ€Ρƒ.

  • ⚑ Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠΈ строк Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ² поиска.
  • πŸ“‰ НС Π²Ρ‹Π·Ρ‹Π²Π°ΠΉΡ‚Π΅ тяТСлыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, рСгулярныС выраТСния) для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки Π±Π΅Π· нСобходимости.
  • πŸ’Ύ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ индСксы ΠΏΠΎΠ»Π΅ΠΉ, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΈΠ΄Π΅Ρ‚ поиск Π² запросах.
πŸ’‘

Для ускорСния поиска ΠΏΠΎ большим тСкстовым полям рассмотритС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° полнотСкстового поиска 1Π‘. Он создаСт ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ индСксы ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° порядки быстрСС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠŸΠžΠ”ΠžΠ‘ΠΠž для Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… тСкстов.

Π’Π°ΠΊΠΆΠ΅ эффСктивным ΠΏΡ€ΠΈΠ΅ΠΌΠΎΠΌ являСтся ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² поиска, Ссли ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ строки ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ. Π₯Ρ€Π°Π½ΠΈΡ‚Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π² Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°Ρ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹Π΅ вычислСния. Π­Ρ‚ΠΎ особСнно Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ для справочников, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅Π΄ΠΊΠΎ ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ, Π½ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² ΠΎΡ‚Ρ‡Π΅Ρ‚Π°Ρ….

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Найти() ΠΈ БтрНайти()?

Π’ соврСмСнных вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ эти Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹ ΠΏΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Ρƒ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. БтрНайти() являСтся Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ, Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌ для Сдинообразия с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ строковыми функциями, Π½ΠΎ староС имя Найти() сохраняСтся для ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ совмСстимости. МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ любоС ΠΈΠ· Π½ΠΈΡ….

Как Π½Π°ΠΉΡ‚ΠΈ всС вхоТдСния подстроки, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ΅?

Ѐункция Найти() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ вхоТдСния. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ всС, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ». Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΡ‰ΠΈΡ‚Π΅ подстроку, начиная с ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠŸΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π°ΡΠŸΠΎΠ·ΠΈΡ†ΠΈΡ + Π”Π»ΠΈΠ½Π°ΠŸΠΎΠ΄ΡΡ‚Ρ€ΠΎΠΊΠΈ. ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉΡ‚Π΅ Ρ†ΠΈΠΊΠ», ΠΏΠΎΠΊΠ° функция Π½Π΅ Π²Π΅Ρ€Π½Π΅Ρ‚ 0.

МоТно Π»ΠΈ ΠΈΡΠΊΠ°Ρ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ строки Π² запросС Π±Π΅Π· ΡƒΡ‡Π΅Ρ‚Π° рСгистра?

Π”Π°, для этого Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΈ ΠΏΠΎΠ»Π΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈ ΠΈΡΠΊΠΎΠΌΡƒΡŽ строку Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π‘Π’Π ΠžΠ§ΠΠ«Π™() прямо Π² тСкстС запроса. НапримСр: Π“Π”Π• Π‘Π’Π ΠžΠ§ΠΠ«Π™(ПолС) ΠŸΠžΠ”ΠžΠ‘ΠΠž Π‘Π’Π ΠžΠ§ΠΠ«Π™("%ИскомоС%"). Π­Ρ‚ΠΎ обСспСчит ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅ сравнСниС нСзависимо ΠΎΡ‚ рСгистра Π±ΡƒΠΊΠ².

ΠŸΠΎΡ‡Π΅ΠΌΡƒ поиск Π½Π΅ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ символ, хотя ΠΎΠ½ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ Π΅ΡΡ‚ΡŒ?

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