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