В
информатике
подстрока
? это непустая связная часть
строки
.
Пусть
? строка длины
.
Любая строка
, где
, является подстрокой
длины
.
- Если
, то
называется
префиксом
длины
.
- Если
, то
?
суффикс
длины
.
С точки зрения информатики строки ≪
кипед
≫, ≪
Вики
≫, ≪
дия
≫ являются подстроками строки ≪
Википедия
≫; при этом ≪
Вики
≫ ? префиксом, а ≪
дия
≫ ? суффиксом.
Википедия
|||||||||
||кипед||
|||| |||
Вики |||
дия
Если
line
? исходная строка,
begin
? индекс первого символа подстроки,
end
? индекс последнего символа подстроки, то подстрока
subline
вычисляется следующим образом:
char* subline = ( char* )malloc( end - begin + 2 );
memcpy
( subline, line + begin, end - begin + 1 );
subline[ end - begin + 1 ] = '\0';
subline = line[begin:end+1]
В языке
python
подстрока является слайсом (срезом) (
англ.
slice, array slicing
).
my $subline = substr $line, $begin, $end - $begin + 1;
$subline = substr($line, $begin, $end - $begin + 1);
subline := Copy(line, _begin, _end - _begin + 1);
subline = line[start..end]
В языке
Java
subline = line.substring(begin,end+1)
Помимо простой задачи выделения подстроки из строки по двум индексам существует и более сложная задача поиска индексов, указывающих на заданную подстроку в строке (поиск вхождения подстроки в строку).