| 三、字符串的基本操作 在字符串的基本操作中,除排序外,还有连接、分离、删除、插入、检索、替换等。而这一切都是以检索(查询)为基础。 1、字符串的检索函数:INSTR(x,a$,s$) (POS(s1,s2)) 功能:从字符串a$中第 x 个字符开始查找子串s$在a$中的起始位置。 说明:a$为原串,s$为要查找的子串,x 表示从源串中的第几个字符开始查找,取值范围是1-255,若取0则出现非法数据错误,但可以省略,表示从源串的第一个字符开始查找。 PASCAL中使用POS函数来返回子串在源串中的起始位置。 2、替换字符串语句:MID$(a$,n,x)=x$ 功能:从源字符串a$中第 n 个字符开始,用字符串x$替换源字符串中的 x 个字符。 说明:一般x$中字符个数应等于 x ,若x$中字符个数少于 x 个,则被修改替换的字符的个数就只等于x$中的字符个数,若x$中的字符个数大于 x 时,则被修改替换的字符仍为 x 个,x$中多余的字符就没用了。 如:a$="ABCDEF" 则:语句MID$(a$,2,4)="GHIJ"使a$的值变为"AGHIJF" 语句MID$(a$,2,4)="K"使a$的值变为"AKCDEF" 语句MID$(a$,2,4)="LMNOPQ"使a$的值变为"ALMNOF" PASCAL语言中没有直接给出替换的语句,方法只能是先查找然后删除,再插入新串。 3、连接 就直接使用“+”运算就可以了 PASCAL如果连接两个字符串也可以使用“+”运算,但PASCAL还提供了一个函数,可以把多个字符串连接成一个字符串。(CONCAT(串1,串2,串3,…)) 4、分离 我们在上一节的数字的分离的第三种方法已经详细地讲过了。 5、删除 方法就是先查找到删除的字符,然后把它分离出来,再把前后的两个子串连接起来就可以了。 6、插入 先查找到插入点,然后把源串分开,然后在两个子串中间连接上要插入的字符就可以了。 练习: 1、统计一篇文章中每个英文字母出现的频率。 2、设计一个程序,统计一篇全部用英语写作的文章中各种长度的英文单词出现的次数。要求打印出:单词的长度(即英文字母的个数),出现的次数和所占的百分比。输出格式如下:
| Length | Frequency | % | | 5 | 8 | 18.6 | | 2 | 4 | 16.27 | | 4 | 5 | 11.62 | | ………………………… | | Total=43 | 请用下面的这段文字来测试你的程序: Consider a paragraph containing several lines of text information. You are to write a program to print a word length frequency table. This table should list the word length, frequency of occurrences, and percentage, in three columns, in order of high test frequency first. |