* Данный текст распознан в автоматическом режиме, поэтому может содержать ошибки
Функции для работы со строковыми данными
151
2.6.4. Обработка строк
Имеется ряд функций для работы со строками. Из них наиболее важны следующие: • lenght(str) – возвращает число символов, содержащихся в строке str; • substring(str,a..b) – возвращает подстроку строки str от a го сим вола до b го; • cat(str1,str2,…) – возвращает строку, полученную объединением строк str1, str2, … (альтернатива – оператор конкатенации в виде точки .); • SearchText(s,str) – производит поиск подстроки s в строке str и при его успехе возвращает номер позиции s в строке str (при отсутствии s в str функция возвращает 0). Примеры применения этих функций (в виде продолжения ранее приведенных примеров) представлены ниже:
> length(str);
6
> substring(str,1..3);
Hel
> substring(str,4..6);
lo!
> s:=cat("Hello"," my"," friend! ");
s := Hello my friend!
> SearchText(my,s);
7
> ss:= "Hello "||"my friend!";
ss := Hello my friend!
> seq(Name||i,i=1..4);
Name1, Name2, Name3, Name4 Эти функции дают достаточно средств для обработки данных строкового типа, которые можно применять не только для создания текстовых комментариев, но и для управления вычислительным процессом в программах.
2.6.5. Преобразование строки в математическое выражение
Часто возникает необходимость в интерактивном вводе математических вы ражений. Для ввода с запросом выражения используется функция readstat (promt), где promt – строка с текстовым комментарием. Пример ее примене ния дан ниже:
> y:=readstat("Aaaaeoa au?a?aiea "); Aaaaeoa au?a?aiea a*x^2+b;
y := ax2 + b Альтернативой может стать ввод строкового выражения с последующим пре образованием его в математическое с помощью функции parse: