Стандартные функции и процедуры обработки строк

Для обработки символьных массивов, которыми являются строки, в языке Pascal существуют специальные подпрограммы:

1. Функция concat(s1,_,sN:string):string осуществляет слияние (конкатенацию) всех перечисленных строк или символов в указанном порядке. Если длина итоговой строки больше 255-ти символов, то произойдет отсечение "хвоста". Кроме того, даже если результат конкатенации не был усечен, но программа пытается сохранить его в переменную заведомо меньшей длины, то усечение все равно состоится:

concat('abc','3de',' ','X','yz') = 'abc3de Xyz'

2. Функция copy(s:string;i,k:byte):string вычленяет из строки s подстроку длиной k символов, начиная с i-го. Если i больше длины строки, то результатом будет пустая строка. Если же k больше, чем длина оставшейся части строки, то результатом будет только ее "хвост":

copy('abc3de Xyz',2,4) = 'bc3d' copy('abc3de Xyz',12,4) = '' copy('abc3de Xyz',8,14) = 'Xyz'

3. Процедура delete(s:string;i,k:byte) удаляет из строки s подстроку длиной k символов, начиная с i-го. Если i больше длины строки, то ничего удалено не будет. Если же k больше, чем длина оставшейся части строки, то удален будет только ее "хвост":

{s = 'abc3de Xyz'} {s = 'abc3de Xyz'} delete(s,2,3); delete(s,8,13); {s = 'ade Xyz'} {s = 'abc3de '}

4. Процедура insert(ss,s:string;i:byte) вставляет подстроку ss в строку s, начиная с i-го символа. Если i выходит за конец строки, то подстрока ss припишется в конец строки s (если результат длиннее, чем допускается для строки s, произойдет его усечение):

{s = 'abc3de Xyz'} {s = 'abc3de'} insert('xyz',s,2); insert('xyz',s,12); {s = 'axyzbc3de Xyz'} {s = 'abc3dexyz'}

5. Функция length(s:string):byte возвращает длину строки s:

length('abc3de Xyz') = 10

6. Функция pos(ss,s:string):byte определяет позицию, с которой начинается первое (считая слева направо) вхождение подстроки ss в строку s. Если ss не встречается в s ни разу, функция вернет 0:

pos('abc3de Xyz','X') = 8

7. Процедура str(x[:w[:d]],s:string) превращает десятичное число x (можно указать, что в этом числе w цифр, из них d дробных) в строку s. Если число короче указанных величин, то спереди и/или сзади оно будет дополнено пробелами:

str(156.4:7:2,s); {s = ' 156.4 '}

8. Процедура val(s:string;i:<арифметический_тип>;err:byte) превращает строку s в десятичное число x (в случае ошибки в переменную err будет записан номер первого недопустимого символа):

{s = '15.47'} val(s,x,err); {x = 15.47}







Дата добавления: 2015-03-19; просмотров: 755;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.