Меню

Главная
Случайная статья
Настройки
Подстрока
Материал из https://ru.wikipedia.org

Содержание

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

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

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

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


Пример

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


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

Если 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[begin..end]

В языкеJava

subline = line.substring(begin,end+1)

В языкеC++

string subline = line.substr(begin, end - begin + 1);

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

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

См. также
Downgrade Counter