Ця стаття не містить . (липень 2013) |
В інформатиці підрядок — непорожня зв'язна частина рядка.
Формальне визначання
Нехай — рядок довжини .
Будь-який рядок , в якому , є підрядком довжини .
Якщо , тоді називається префіксом довжини .
Якщо , тоді — суфікс довжини .
Префікс
Префіксом рядка називається рядок , де . Власний префікс рядка не дорівнює самому рядку (); деякі джерела на додаток до цього накладають обмеження непорожньості (). Префікс можна розглядати як особливий випадок підрядка.
Приклад
З точки зору інформатики рядки «кіпед», «Вікі», «дія» є підрядками рядка «Вікіпедія»; при цьому «Вікі» — префіксом, а «дія» — суфіксом.
Вікіпедія ||||||||| ||кіпед|| |||| ||| Вікі дія
Отримання підрядка
Якщо 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]
У мові python підрядок є слайсом (зрізом) (англ. slice).
У мові Perl
$subline = substr($line, $begin, $end-$begin);
У мові Pascal
SubStr := Copy(SourceStr, StartCharIndex, SubStrLength);
Операції з підрядком
Окрім простої задачі виділення підрядка з рядка за двома індексами існує і складніша задача пошуку індексів, що вказують на заданий підрядок.
Див. також
- (Рядкові алгоритми)
Примітки
Це незавершена стаття про програмування. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Cya stattya ne mistit posilan na dzherela Vi mozhete dopomogti polipshiti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Material bez dzherel mozhe buti piddano sumnivu ta vilucheno lipen 2013 V informatici pidryadok neporozhnya zv yazna chastina ryadka Formalne viznachannyaNehaj L c 0 c n 1 displaystyle L c 0 dots c n 1 ryadok dovzhini n displaystyle n Bud yakij ryadok S c i c j displaystyle S c i dots c j v yakomu 0 i j n 1 displaystyle 0 leq i leq j leq n 1 ye pidryadkom L displaystyle L dovzhini j i 1 displaystyle j i 1 Yaksho i 0 displaystyle i 0 todi S displaystyle S nazivayetsya prefiksom L displaystyle L dovzhini j 1 displaystyle j 1 Yaksho j n 1 displaystyle j n 1 todi S displaystyle S sufiks L displaystyle L dovzhini j i 1 displaystyle j i 1 PrefiksPrefiksom ryadka T t 1 t n displaystyle T t 1 dots t n nazivayetsya ryadok T t 1 t m displaystyle widehat T t 1 dots t m de m n displaystyle m leq n Vlasnij prefiks ryadka ne dorivnyuye samomu ryadku 0 m lt n displaystyle 0 leq m lt n deyaki dzherela na dodatok do cogo nakladayut obmezhennya neporozhnosti 0 lt m lt n displaystyle 0 lt m lt n Prefiks mozhna rozglyadati yak osoblivij vipadok pidryadka PrikladZ tochki zoru informatiki ryadki kiped Viki diya ye pidryadkami ryadka Vikipediya pri comu Viki prefiksom a diya sufiksom Vikipediya kiped Viki diyaOtrimannya pidryadkaYaksho line pochatkovij ryadok begin poziciya pershogo simvolu pidryadka end poziciya ostannogo simvolu pidryadka to pidryadok subline virahovuyetsya nastupnim chinom U movi 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 U movi Python subline line begin end 1 U movi python pidryadok ye slajsom zrizom angl slice U movi Perl subline substr line begin end begin U movi Pascal SubStr Copy SourceStr StartCharIndex SubStrLength Operaciyi z pidryadkomOkrim prostoyi zadachi vidilennya pidryadka z ryadka za dvoma indeksami isnuye i skladnisha zadacha poshuku indeksiv sho vkazuyut na zadanij pidryadok Div takozhRyadkovi algoritmiPrimitkiKelli Din 1995 Automata and Formal Languages An Introduction London Prentis Gol Interneshnl ISBN 0 13 497777 7 Gusfild Den 1999 1997 Algorithms on Strings Trees and Sequences Computer Science and Computational Biology SShA Kembridzh Yuniversiti Pres ISBN 0 521 58519 8 Ce nezavershena stattya pro programuvannya Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi