Один из алгоритмов поиска подстроки в тексте — прямой (последовательный) поиск. 1 Его основная идея заключается в посимвольном сравнении строки с подстрокой. 1 В начальный момент происходит сравнение первого символа строки с первым символом подстроки, второго символа строки со вторым символом подстроки и т. д.. 1 Если произошло совпадение всех символов, то фиксируется факт нахождения подстроки. 1 В противном случае производится сдвиг подстроки на одну позицию вправо и повторяется посимвольное сравнение. 1 Сдвиги подстроки повторяются до тех пор, пока конец подстроки не достиг конца строки или не произошло полное совпадение символов подстроки со строкой, то есть не найдётся подстрока. 1
Ещё один алгоритм — Бойера-Мура. 3 Он считается наиболее быстрым среди алгоритмов общего назначения, предназначенных для поиска подстроки в строке. 3 Простейший вариант алгоритма Бойера-Мура состоит из следующих шагов: 3