字符串是由字符组成的有穷序列,pascal提供string和ansistring二种字符串类型,二者只是在字符串的长度上有区别,string类型长度在255以内,超出255长度的部分被忽略,而ansistring类型没有长度限制(其实可存储2G的内容,所以看作长度无限制)。
字符串类型定义:
var 字符串变量: string[n];
由字符串的常量、变量和运算符组成的表达式称为字符串表达式。
字符串运算符包括:
1.+:连接运算符
例如:‘Free ’+‘PASCAL’的结果是‘Free PASCAL’。
若连接的结果字符串长度超过255,则被截成255个字符。若连接后
的字符串存放在定义的字符串变量中,当其长度超过定义的字符串长度
时,超过部份字符串被截断。
例如:var str1,str2,str3:string[8];
begin
str1:=‘Free’;
str2:=‘PASCAL’;
str3:=str1+str2;
end.
则str3的值为:‘FreePASC’。
2.=、〈〉、〈、〈=、〉、〉=:关系运算符
两个字符串的比较规则为,从左到右按照ASCⅡ码值逐个比较,遇
到ASCⅡ码不等时,规定ASCⅡ码值大的字符所在的字符串为大。
例如:‘AB’〈‘AC’ 结果为真;
‘12’〈‘2’ 结果为真;
‘PASCAL ’=‘pascal’ 结果为假;
Free Pascal提供了八个标准函数和标准过程,见下表,利用这些标准函数与标准过程,一些涉及到字符串的问题可以灵活解决。
| 类型 | 函数和过程名 | 功 能 | 说 明 | 
| 函数 | copy(s,m,n) | 取s中第m个字符开始的n个字符 | 若m大于s的长度,则返回空串;否则,若m+n大于s的长度,则截断 | 
| 函数 | length(s) | 求s的动态的长度 | 返回值为整数 | 
| 函数 | pos(sub,s) | 在s中找子串sub | 返回值为sub在s中的位置,为byte型 | 
| 过程 | insert(sour,s,m) | 在s的第m个字符位置处插入子串sour | 若返回串超过255,则截断 | 
| 过程 | delete(s,m,n) | 删除s中第m个字符开始的n个字符串 | 若m大于s的长度,则不删除;否则,若m+n大于s的长度,则删除到结尾 | 
| 过程 | str(x[:w[:d]],s) | 将整数或实数x转换成字符串s | w和d是整型表达式,意义同带字宽的write语句 | 
| 过程 | val(s,x,code) | 将字符串S 转换成整数或实数x | 若S中有非法字符,则code存放非法字符在S中的下标;否则,code为零。code为整型 | 
| 函数 | upcase(ch) | 将字母或字串ch转换成大写字母 | 若ch不为小写字母,则不转换 | 
| 函数 | lowercase(ch) | 将字母或字串ch转换成小写字母 | 若ch不为大写字母,则不转换 | 
原文:http://www.cnblogs.com/vacation/p/5024169.html