Подстрока

В информатике подстрока — это непустая часть строки.

Формальное определение

Пусть — строка длины .
Любая строка , где , является подстрокой длины .
Если , то называется префиксом длины .
Если , то суффикс длины .

Пример

С точки зрения информатики строки «кипед», «Вики», «дия» являются подстроками строки «Википедия»; при этом «Вики» — префиксом, а «дия» — суффиксом.

Википедия
|||||||||
||кипед||
||||  |||
Вики  дия

Получение подстроки

Если line — исходная строка, begin — позиция первого символа подстроки, end - позиция последнего символа подстроки, то подстрока subline вычисляется следующим образом:

В языке C

subline=malloc(end-begin+2);
assert(subline);
memcpy(subline,line+begin,end-begin+1);
subline[end-begin+1]=0;

В языке Python

subline=line[begin:end]

В языке python подстроку называют слайс (англ. slice).

В языке Perl

$subline = substr $line, $begin, $end-$begin;

Операции с подстрокой

Помимо простой задачи выделения подстроки из строки по двум индексам существует и более сложная задача поиска индексов, указывающих на заданную подстроку в строке (поиск вхождения подстроки в строку).

См. также