Топ питань
Часова шкала
Чат
Перспективи
Підрядок
З Вікіпедії, вільної енциклопедії
Remove ads
В інформатиці підрядок — непорожня зв'язна частина рядка.
Ця стаття не містить посилань на джерела. (липень 2013) |
Формальне визначання
Нехай — рядок довжини .
Будь-який рядок , в якому , є підрядком довжини .
Якщо , тоді називається префіксом довжини .
Якщо , тоді — суфікс довжини .
Remove ads
Префікс
Префіксом рядка називається рядок , де . Власний префікс рядка не дорівнює самому рядку ()[1]; деякі джерела[2] на додаток до цього накладають обмеження непорожності (). Префікс можна розглядати як особливий випадок підрядка.
Remove ads
Приклад
З точки зору інформатики рядки «кіпед», «Вікі», «дія» є підрядками рядка «Вікіпедія»; при цьому «Вікі» — префіксом, а «дія» — суфіксом.
Вікіпедія ||||||||| ||кіпед|| |||| ||| Вікі дія
Отримання підрядка
Якщо line — початковий рядок, begin — позиція першого символу підрядка, end — позиція останнього символу підрядка, то підрядок subline вираховується наступним чином:
У мові C
char * subline = (char *)malloc(end - begin + 2);
if (subline == NULL)
{
fprintf(stderr, "ERROR: malloc failed!");
exit(1);
}
memcpy(subline, line + begin, end - begin + 1);
subline[end - begin + 1] = '\0';
У мові Python
subline=line[begin:end+1]
У мові Perl
$subline = substr($line, $begin, $end-$begin);
У мові Pascal
SubStr := Copy(SourceStr, StartCharIndex, SubStrLength);
Remove ads
Операції з підрядком
Окрім простої задачі виділення підрядка з рядка за двома індексами існує і складніша задача пошуку індексів, що вказують на заданий підрядок.
Див. також
Примітки
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads