Подстрока
Материал из Википедии — свободной энциклопедии
Содержание |
В информатике подстрока — это непустая часть строки.
[править] Формальное определение
Пусть — строка длины n.
Любая строка , где , является подстрокой L длины j − i + 1.
Если i = 0, то S называется префиксом L длины j + 1.
Если j = n − 1, то S — суффикс L длины j − i + 1.
[править] Пример
С точки зрения информатики строки «кипед», «Вики», «дия» являются подстроками строки «Википедия»; при этом «Вики» — префиксом, а «дия» — суффиксом.
Википедия ||||||||| ||кипед|| |||| ||| Вики дия
[править] Получение подстроки
Если 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;
[править] В языке Pascal
substring:=copy(string,begin,length);
[править] Операции с подстрокой
Помимо простой задачи выделения подстроки из строки по двум индексам существует и более сложная задача поиска индексов, указывающих на заданную подстроку в строке (поиск вхождения подстроки в строку).