Подстрока

Материал из Википедии ? свободной энциклопедии
(перенаправлено с ≪ Префикс (информатика) ≫)
Перейти к навигации Перейти к поиску

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

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

[ править | править код ]

Пусть  ? строка длины .

Любая строка , где , является подстрокой длины .

  • Если , то называется префиксом длины .
  • Если , то  ? суффикс длины .

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

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

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

[ править | править код ]

Если 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)

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

[ править | править код ]

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