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

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

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ синтаксис, Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ использования ΠΈ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Π΅Ρ‘ ΠΎΡ‚ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ИндСкс ΠΈΠ»ΠΈ Π’Π‘Ρ‚Ρ€ΠΎΠΊΠ΅, ΠΈ ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ случаи, ΠΊΠΎΠ³Π΄Π° искомая подстрока отсутствуСт Π² тСкстС.

Основной синтаксис ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

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

Если ΠΆΠ΅ подстрока Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°, функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ноль. Π­Ρ‚ΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚: ноль здСсь выступаСт Π² Ρ€ΠΎΠ»ΠΈ логичСского "False" ΠΈΠ»ΠΈ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° Π½Π΅ΡƒΠ΄Π°Ρ‡ΠΈ, Π½ΠΎ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… остаСтся числовым. ИмСнно поэтому ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° часто выглядит ΠΊΠ°ΠΊ условиС Если ΠŸΠΎΠ·ΠΈΡ†ΠΈΡ > 0 Π’ΠΎΠ³Π΄Π°.

Рассмотрим Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования Π² ΠΊΠΎΠ΄Π΅:

ВСкст = "БистСма 1Π‘ ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅";

ΠŸΠΎΠ·ΠΈΡ†ΠΈΡ = Найти(ВСкст, "1Π‘");

// ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ ΠŸΠΎΠ·ΠΈΡ†ΠΈΡ ΠΏΡ€ΠΈΠΌΠ΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 9

Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ функция ΠΈΡ‰Π΅Ρ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅. Если Π² строкС нСсколько ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… подстрок, Найти остановится Π½Π° самой ΠΏΠ΅Ρ€Π²ΠΎΠΉ. Для поиска всСх Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ трСбуСтся цикличСский ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ с использованиСм ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, ΠΎ Ρ‡Π΅ΠΌ ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π½ΠΈΠΆΠ΅.

πŸ’‘

ВсСгда провСряйтС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Найти Π½Π° большС нуля ΠΏΠ΅Ρ€Π΅Π΄ использованиСм ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π‘Ρ€Π΅Π΄ ΠΈΠ»ΠΈ Π›Π΅Π², Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ошибок выполнСния.

Поиск с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ рСгистра ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ чувствитСлСн ΠΊ рСгистру символов. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ поиск подстроки "слово" Π² тСкстС "Π‘Π›ΠžΠ’Πž" Π²Π΅Ρ€Π½Π΅Ρ‚ ноль. Однако Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ часто трСбуСтся ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ рСгистр. Для этого Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘ сущСствуСт Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΉ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ Ρ€Π΅ΠΆΠΈΠΌ поиска.

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

Однако, начиная с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… вСрсий ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ Π² контСкстС Ρ€Π°Π±ΠΎΡ‚Ρ‹ с УказатСлями ΠΈΠ»ΠΈ спСцифичСскими Ρ‚ΠΈΠΏΠ°ΠΌΠΈ, Π»ΠΎΠ³ΠΈΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒΡΡ. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ‚Π°ΠΊΡƒΡŽ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ:

ИскомоС = Π‘Ρ‚Ρ€Π—Π°Π³Π»Π°Π²Π½Ρ‹Π΅("прСдприятиС");

Π“Π΄Π΅Π˜Ρ‰Π΅ΠΌ = Π‘Ρ‚Ρ€Π—Π°Π³Π»Π°Π²Π½Ρ‹Π΅(ΠŸΠΎΠ»Π½ΠΎΠ΅Π˜ΠΌΡΠ‘ΠΈΡΡ‚Π΅ΠΌΡ‹);

Поз = Найти(Π“Π΄Π΅Π˜Ρ‰Π΅ΠΌ, ИскомоС);

Π’Π°ΠΊΠΆΠ΅ сущСствуСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΊΠ°Ρ‚ΡŒ с ΠΊΠΎΠ½Ρ†Π° строки. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΠ°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠŸΠΎΠΈΡΠΊΠ°.Π‘ ΠΊΠΎΠ½Ρ†Π°. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ послСднСС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ послСднюю Ρ‡Π°ΡΡ‚ΡŒ слоТного составного ΠΊΠ»ΡŽΡ‡Π°.

πŸ“Š Как Π²Ρ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ€Π΅ΡˆΠ°Π΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ рСгистра ΠΏΡ€ΠΈ поискС?
ΠŸΡ€ΠΈΠ²ΠΎΠΆΡƒ строки ΠΊ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌΡƒ рСгистру
Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
ΠŸΠΈΡˆΡƒ свой Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ
НС ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽ внимания

ΠžΡ‚Π»ΠΈΡ‡ΠΈΡ ΠΎΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ИндСкс ΠΈ Π’Π‘Ρ‚Ρ€ΠΎΠΊΠ΅

Π’ языкС 1Π‘ сущСствуСт нСсколько Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками, ΠΈ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΈ часто ΠΈΡ… ΠΏΡƒΡ‚Π°ΡŽΡ‚. Ѐункция ИндСкс Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Найти, Π½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ историчСскиС ΠΊΠΎΡ€Π½ΠΈ ΠΈ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… контСкстах (особСнно Π² старых вСрсиях ΠΈΠ»ΠΈ спСцифичСских конфигурациях) ΠΌΠΎΠΆΠ΅Ρ‚ вСсти сСбя ΠΈΠ½Π°Ρ‡Π΅, хотя Π² соврСмСнной ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ ΠΎΠ½ΠΈ практичСски ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹ ΠΏΠΎ Π»ΠΎΠ³ΠΈΠΊΠ΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ.

БовсСм ΠΈΠ½Π°Ρ‡Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ функция Π’Π‘Ρ‚Ρ€ΠΎΠΊΠ΅. Она ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° Π½Π΅ для поиска ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, Π° для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ вхоТдСния. Π’Π‘Ρ‚Ρ€ΠΎΠΊΠ΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π±ΡƒΠ»Π΅Π²ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (Π˜ΡΡ‚ΠΈΠ½Π° ΠΈΠ»ΠΈ Π›ΠΎΠΆΡŒ). Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ просто ΡƒΠ·Π½Π°Ρ‚ΡŒ, Π΅ΡΡ‚ΡŒ Π»ΠΈ слово Π² тСкстС, ΠΈ Π½Π΅ Π²Π°ΠΆΠ½Π° Π΅Π³ΠΎ позиция, использованиС Π’Π‘Ρ‚Ρ€ΠΎΠΊΠ΅ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ.

Π‘Ρ€Π°Π²Π½ΠΈΠΌ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ значСния Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅:

Ѐункция Π’ΠΈΠΏ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° Если Π½Π°ΠΉΠ΄Π΅Π½ΠΎ Если Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ
Найти Число ΠŸΠΎΠ·ΠΈΡ†ΠΈΡ (1, 2, 3..) 0
Π’Π‘Ρ‚Ρ€ΠΎΠΊΠ΅ Π‘ΡƒΠ»Π΅Π²ΠΎ Π˜ΡΡ‚ΠΈΠ½Π° Π›ΠΎΠΆΡŒ
БтрНачинаСтсяБ Π‘ΡƒΠ»Π΅Π²ΠΎ Π˜ΡΡ‚ΠΈΠ½Π° Π›ΠΎΠΆΡŒ

ИспользованиС Π’Π‘Ρ‚Ρ€ΠΎΠΊΠ΅ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ условия Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°Ρ… Если. НапримСр, конструкция Если Π’Π‘Ρ‚Ρ€ΠΎΠΊΠ΅(ВСкст, "Ошибка") Π’ΠΎΠ³Π΄Π° выглядит СстСствСннСС, Ρ‡Π΅ΠΌ Если Найти(ВСкст, "Ошибка") > 0 Π’ΠΎΠ³Π΄Π°, хотя ΠΎΠ±Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ.

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π’Π‘Ρ‚Ρ€ΠΎΠΊΠ΅ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ Π² условиях, Π° Найти β€” ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ мСсто вхоТдСния для Π²Ρ‹Ρ€Π΅Π·ΠΊΠΈ ΠΈΠ»ΠΈ Π·Π°ΠΌΠ΅Π½Ρ‹ части строки.

ЦикличСский поиск всСх Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ

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

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° для подсчСта количСства Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ:

ВСкст = "ΠΊΠ°Π±Π°Π½, Π±Π°Ρ€Π°Π½, Π±Π°Π½Π°Π½";

ΠŸΠΎΠ΄ΡΡ‚Ρ€ΠΎΠΊΠ° = "Π°Π½";

ΠŸΠΎΠ·ΠΈΡ†ΠΈΡ = 0;

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ = 0;

Пока Π˜ΡΡ‚ΠΈΠ½Π° Π¦ΠΈΠΊΠ»

ΠŸΠΎΠ·ΠΈΡ†ΠΈΡ = Найти(ВСкст, ΠŸΠΎΠ΄ΡΡ‚Ρ€ΠΎΠΊΠ°, , ΠŸΠΎΠ·ΠΈΡ†ΠΈΡ + 1);

Если ΠŸΠΎΠ·ΠΈΡ†ΠΈΡ = 0 Π’ΠΎΠ³Π΄Π°

ΠŸΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ;

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

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ = ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ + 1;

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

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

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠŸΠΎΠ·ΠΈΡ†ΠΈΡ + 1?

Если ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ просто ΠŸΠΎΠ·ΠΈΡ†ΠΈΡ, Ρ‚ΠΎ ΠΏΡ€ΠΈ поискС пустой строки ΠΈΠ»ΠΈ спСцифичСских совпадСниях ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Ρ†ΠΈΠΊΠ»ΠΈΡ‚ΡŒΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈ Ρ‚ΠΎΠΌ ΠΆΠ΅ символС. Π‘Π΄Π²ΠΈΠ³ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ тСксту.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок ΠΈ Π³Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹Π΅ случаи

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

Π’Π°ΠΊΠΆΠ΅ стоит Π±Ρ‹Ρ‚ΡŒ остороТным ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большими тСкстовыми полями. Π₯отя ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π»ΠΈΠ½Ρƒ строки Π² 1Π‘ достаточно Π²Π΅Π»ΠΈΠΊΠΎ (Π΄ΠΎ 4 Π“Π‘ Π² соврСмСнных вСрсиях), нСэффСктивный цикличСский поиск Π² ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Ρ… массивах Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ сущСствСнно Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ систСмы. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ полнотСкстового поиска ΠΈΠ»ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡŽ.

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

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ нюанс β€” Ρ€Π°Π±ΠΎΡ‚Π° с символами табуляции ΠΈ пСрСноса строки. Они Ρ‚Π°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ символами ΠΈ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ подсчСтС ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ. Если Π²Ρ‹ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚Π΅ тСкст ΠΈΠ· Π²Π½Π΅ΡˆΠ½ΠΈΡ… источников, Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Π΅ символы ΠΌΠΎΠ³ΡƒΡ‚ ΡΠ΄Π²ΠΈΠ½ΡƒΡ‚ΡŒ Ρ€Π΅Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ искомой Ρ„Ρ€Π°Π·Ρ‹.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π΄ использованиСм Найти

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

ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ оптимизация запросов

Π’ контСкстС Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… 1Π‘, использованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Найти Π²Π½ΡƒΡ‚Ρ€ΠΈ запросов (Π² языкС запросов 1Π‘) ΠΈΠΌΠ΅Π΅Ρ‚ свои особСнности. Π’ запросах эта функция Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‡ΠΈΡΠ»ΠΎΠ²ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ. Однако использованиС строковых Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² условиях Π“Π”Π• часто ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ запрос Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ индСксы Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

Если Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ условиС Π“Π”Π• Найти(НаимСнованиС, "ΠœΠΎΡ‚ΠΎΡ€") > 0, систСма, скорСС всСго, Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΠ΅ сканированиС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Ρ‡Ρ‚ΠΎ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… объСмов Π΄Π°Π½Π½Ρ‹Ρ…. Для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π°ΠΊΠΈΡ… Π²Ρ‹Π±ΠΎΡ€ΠΎΠΊ рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠŸΠžΠ”ΠžΠ‘ΠΠž ΠΈΠ»ΠΈ полнотСкстовый поиск, Ссли ΠΎΠ½ настроСн.

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

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

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

πŸ’‘

Для поиска ΠΏΠΎ Π½Π°Ρ‡Π°Π»Ρƒ строки ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ БтрНачинаСтсяБ, ΠΎΠ½Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ быстрСС ΠΈ понятнСС, Ρ‡Π΅ΠΌ Найти(Π‘Ρ‚Ρ€ΠΎΠΊΠ°, ΠŸΠΎΠ΄ΡΡ‚Ρ€ΠΎΠΊΠ°) = 1.

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

Π§Ρ‚ΠΎ Π²Π΅Ρ€Π½Π΅Ρ‚ функция Найти, Ссли ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΏΡƒΡΡ‚ΡƒΡŽ строку?

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

МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Найти для поиска чисСл Π² строкС?

Π”Π°, Π½ΠΎ число Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π² строку с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π‘Ρ‚Ρ€ΠΎΠΊΠ°(). Ѐункция Найти Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с тСкстовыми Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. ΠŸΡ€ΡΠΌΠ°Ρ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° числа Π² качСствС Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ Ρ‚ΠΈΠΏΠΎΠ².

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

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Найти ΠΈ БтрНайти ΡΠ²Π»ΡΡŽΡ‚ΡΡ синонимами Π² соврСмСнном языкС 1Π‘. БтрНайти β€” это Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΠΎΠ΅, явноС имя, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ Π½Π° ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊ строковым опСрациям, Π½ΠΎ внутрСнняя рСализация ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ значСния Ρƒ Π½ΠΈΡ… ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹.

Как Π½Π°ΠΉΡ‚ΠΈ послСднСС Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ подстроки?

Для этого Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ направлСния поиска ΠΠ°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠŸΠΎΠΈΡΠΊΠ°.Π‘ ΠΊΠΎΠ½Ρ†Π°. Π›ΠΈΠ±ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ строку, Π½Π°ΠΉΡ‚ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅Ρ€Π΅ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ, Π½ΠΎ использованиС встроСнного направлСния поиска эффСктивнСС.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Найти Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 0, хотя слово Π² тСкстС Π΅ΡΡ‚ΡŒ?

НаиболСС вСроятная ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° β€” нСсовпадСниС рСгистра символов (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, поиск "москва" Π² "Москва"). Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ скрытых ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² ΠΈΠ»ΠΈ спСцсимволов Π² искомой строкС ΠΈΠ»ΠΈ тСкстС.