《Pascal经典字符串操作 教程.ppt》由会员分享,可在线阅读,更多相关《Pascal经典字符串操作 教程.ppt(7页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、 串是由零个或多个字符组成的有限串是由零个或多个字符组成的有限序列。一个串中包含的字符个数称为序列。一个串中包含的字符个数称为这个串的长度。长度为零的串称为空这个串的长度。长度为零的串称为空串,它不包含任何字符。串,它不包含任何字符。串串运算运算0808集训队讲稿集训队讲稿 谷老师谷老师1.1.连接运算连接运算连接运算连接运算函数函数函数函数concat(s1concat(s1concat(s1concat(s1,s2s2s2s2,snsnsnsn):其中值参其中值参其中值参其中值参s1s1s1s1,snsnsnsn为为为为stringstringstringstring类型,函数值为类型,函
2、数值为类型,函数值为类型,函数值为stringstringstringstring类型。若连接后的串类型。若连接后的串类型。若连接后的串类型。若连接后的串长大于长大于长大于长大于255255255255,则自动截断超出部分。,则自动截断超出部分。,则自动截断超出部分。,则自动截断超出部分。2.2.2.2.求求求求子子子子串串串串函函函函数数数数copy(scopy(scopy(scopy(s,i i i i,l)l)l)l):其其其其中中中中值值值值参参参参s s s s为为为为stringstringstringstring类类类类型型型型,i i i i和和和和l l l l为为为为int
3、egerintegerintegerinteger类类类类型型型型。函函函函数数数数返返返返回回回回s s s s串串串串中中中中第第第第i i i i个个个个字字字字符符符符开开开开始始始始、长长长长度度度度为为为为l l l l的的的的子子子子串串串串(stringstringstringstring类类类类型型型型)。若若若若i i i i大大大大于于于于s s s s的的的的长长长长度度度度,则则则则回回回回送送送送一一一一个个个个空空空空串串串串;若若若若l l l l大于第大于第大于第大于第 i i i i个字符开始的余串长度,则仅回送余串。个字符开始的余串长度,则仅回送余串。个字
4、符开始的余串长度,则仅回送余串。个字符开始的余串长度,则仅回送余串。3.3.3.3.删删删删子子子子串串串串过过过过程程程程delete(vardelete(vardelete(vardelete(var s s s s,i i i i,l)l)l)l):其其其其中中中中变变变变量量量量参参参参数数数数s s s s为为为为stringstringstringstring类类类类型型型型,值值值值参参参参i i i i、l l l l为为为为ingtegeringtegeringtegeringteger类类类类型型型型。该该该该过过过过程程程程删删删删去去去去s s s s中中中中第第第第i
5、 i i i个个个个字字字字符符符符开开开开始始始始的的的的长长长长度度度度为为为为l l l l的的的的子子子子串串串串,并并并并返返返返回回回回剩剩剩剩余余余余串串串串s s s s。若若若若i i i i大大大大于于于于原原原原串串串串s s s s的的的的长长长长度度度度,则则则则不不不不删删删删任任任任何何何何字字字字符符符符;若若若若l l l l大大大大于于于于第第第第i i i i个个个个字字字字符符符符开开开开始始始始的的的的余余余余串串串串长长长长度度度度,则则则则删去余串。删去余串。删去余串。删去余串。在在串运算中充分利用系统串运算中充分利用系统的库函数的库函数0808集
6、训队讲稿集训队讲稿 谷老师谷老师4.4.4.4.插插插插入入入入子子子子串串串串过过过过程程程程insert(s1insert(s1insert(s1insert(s1,varvarvarvar s s s s,i)i)i)i):变变变变量量量量参参参参数数数数s s s s为为为为stringstringstringstring类类类类型型型型,值值值值参参参参s1s1s1s1为为为为stringstringstringstring类类类类型型型型。该该该该过过过过程程程程将将将将s1s1s1s1子子子子串串串串插插插插入入入入空空空空串串串串s s s s的的的的第第第第i i i i个个
7、个个字字字字符符符符位位位位置置置置处处处处,并并并并返返返返回回回回插插插插入入入入后后后后的的的的结结结结果果果果s s s s。若若若若插插插插入入入入后后后后s s s s的的的的串串串串长长长长大大大大于于于于255255255255个个个个字字字字符符符符,则截断超出部分。则截断超出部分。则截断超出部分。则截断超出部分。5.5.5.5.求串长求串长求串长求串长函数函数函数函数length(s)length(s)length(s)length(s):值参值参值参值参s s s s为为为为stringstringstringstring类型。该函数返回类型。该函数返回类型。该函数返回类
8、型。该函数返回s s s s串的串的串的串的实际长度值(实际长度值(实际长度值(实际长度值(integerintegerintegerinteger类型)。类型)。类型)。类型)。6.6.6.6.搜搜搜搜索索索索子子子子串串串串位位位位置置置置函函函函数数数数pos(s1pos(s1pos(s1pos(s1,s2)s2)s2)s2):值值值值参参参参s1s1s1s1和和和和s2s2s2s2为为为为stringstringstringstring类类类类型型型型。若若若若s1s1s1s1是是是是s2s2s2s2的的的的一一一一个个个个子子子子串串串串,则则则则返返返返回回回回s1s1s1s1中中
9、中中第第第第1 1 1 1个个个个字字字字符符符符在在在在s2s2s2s2串串串串中中中中的的的的位位位位置置置置(integerintegerintegerinteger类型);若类型);若类型);若类型);若s1s1s1s1非非非非s2s2s2s2的一个子串,则返回的一个子串,则返回的一个子串,则返回的一个子串,则返回0 0 0 0。7.7.7.7.数数数数值值值值转转转转换换换换为为为为数数数数串串串串过过过过程程程程str(xstr(xstr(xstr(x,varvarvarvar s)s)s)s):值值值值参参参参x x x x为为为为integerintegerintegerint
10、eger类类类类型型型型或或或或realrealrealreal类类类类型型型型,变变变变量量量量参参参参数数数数s s s s为为为为stringstringstringstring类类类类型型型型。该该该该过过过过程程程程将将将将返返返返回回回回数数数数值值值值x x x x对对对对应应应应的的的的数数数数串串串串s s s s。8.8.8.8.数数数数串串串串转转转转换换换换为为为为数数数数值值值值过过过过程程程程val(sval(sval(sval(s,varvarvarvar v v v v,varvarvarvar c)c)c)c):值值值值参参参参s s s s为为为为strin
11、gstringstringstring类类类类型型型型,变变变变量量量量参参参参数数数数v v v v为为为为integerintegerintegerinteger类类类类型型型型或或或或realrealrealreal类类类类型型型型,变变变变量量量量参参参参数数数数c c c c为为为为integerintegerintegerinteger类类类类型型型型。该该该该过过过过程程程程试试试试将将将将s s s s串串串串转转转转换换换换成成成成数数数数值值值值v v v v。若若若若转转转转换换换换成成成成功功功功,则则则则c c c c为为为为0 0 0 0,并并并并返返返返回回回回对
12、对对对应的数值应的数值应的数值应的数值v v v v;否则否则否则否则c c c c为无效字符的序数。为无效字符的序数。为无效字符的序数。为无效字符的序数。9.9.9.9.字字字字符符符符的的的的大大大大写写写写转转转转换换换换函函函函数数数数upcase(chupcase(chupcase(chupcase(ch):值值值值参参参参chchchch为为为为charcharcharchar类类类类型型型型。该该该该函函函函数返回数返回数返回数返回chchchch字符的大写体(字符的大写体(字符的大写体(字符的大写体(charcharcharchar类型)类型)类型)类型)0808集训队讲稿集训
13、队讲稿 谷老师谷老师实例一:数码排序实例一:数码排序设设有有n n个个正正整整数数,将将他他们们连连接接成成一一排排,组组成成一一个个最最大大的的多多位位整整数数.例例如如:n=3n=3时时,3 3个个整整数数1313,312312,343343,连连成成的的最最大大整整数数为为:3433121334331213。又又如如:n=4n=4时时,4 4个个整整数数7 7,1313,4 4,246246连连接接成成的的最最大大整数为整数为74246137424613。程序输入:程序输入:N NNN个数个数程序输出:连接成的多位数程序输出:连接成的多位数 0808集训队讲稿集训队讲稿 谷老师谷老师实例
14、二:字符串编辑实例二:字符串编辑从键盘输入一个字符串从键盘输入一个字符串(长度长度4040个字符个字符),并以字符,并以字符.结束结束.例例如如:This This is is a a book.book.,现现对对该该字字符符串串进进行行编编辑辑,编编辑辑功功能能有:有:DD:删删除除一一个个字字符符,命命令令的的方方式式为为:D D a a。其其中中a a为为被被删删除除的的字字符符。例例如如:D D s s 表表示示删删除除字字符符s s,若若字字符符串串中中有有多多个个s s,则则删除第一次出现的,如上例中删除的结果为删除第一次出现的,如上例中删除的结果为ThiThi is a boo
15、k.is a book.I I:插插入入一一个个字字符符,命命令令的的格格式式为为:I I a1 a1 a2a2。其其中中a1a1表表示示插插入入到到指指定定字字符符前前面面,a2a2表表示示将将要要插插入入的的字字符符。例例如如:I I s s d d 表表示示在在指指定定字字符符s s的的前前面面插插入入字字符符d d,若若原原串串中中有有多多个个s s,则则插插入入在在最最后后一一个个字字符符的的前前面面。如如上上例例中中,原原串串:This This is is a book.a book.,插入后:插入后:This ids a book.This ids a book.R R:替替换
16、换一一个个字字符符,命命令令格格式式为为:R R a1 a1 a2a2。其其中中a1a1为为被被替替换换的的字字符符,a2a2为为替替换换的的字字符符,若若在在原原串串中中有有多多个个a1a1,则则应应全全部部替替换换。例例如如:原原串串:This This is is a a book.book.。输输入入命命令令:R R o o e e,替替换后:换后:This is a This is a beekbeek.。在编辑过程中,若出现被指定的字符不存在时,则给出提示信息在编辑过程中,若出现被指定的字符不存在时,则给出提示信息 0808集训队讲稿集训队讲稿 谷老师谷老师实例三:字符近似查找实例
17、三:字符近似查找 设有设有n n个单词的字典表(个单词的字典表(1n1001n100)。计算某单词在字典表中的四种匹配情况)。计算某单词在字典表中的四种匹配情况(字典表中的单词和待匹配单词的长度上限为(字典表中的单词和待匹配单词的长度上限为255255):):i i:该单词在字典表中的序号;:该单词在字典表中的序号;EiEi:在字典表中仅有一个字符不匹配的单词序号;:在字典表中仅有一个字符不匹配的单词序号;FiFi:在字典表中多或少一个字符(其余字符匹配)的单词序号;:在字典表中多或少一个字符(其余字符匹配)的单词序号;NN:其他情况:其他情况 当查找时有多个单词符合条件,仅要求第一个单词的序号即可。当查找时有多个单词符合条件,仅要求第一个单词的序号即可。输入文件输入文件输入文件输入文件 输入文件名为输入文件名为a.ina.in,文件的格式如下:,文件的格式如下:n n(字典表的单词数)(字典表的单词数)n n行,每行一个单词行,每行一个单词 待匹配单词待匹配单词0808集训队讲稿集训队讲稿 谷老师谷老师思考思考题的程序可的程序可发送至送至:E-mail:或或则则写写在在竞赛竞赛网网中程序流言板中中程序流言板中,并并及及时时和和老老师师沟沟通通.Thank you!0808集训队讲稿集训队讲稿 谷老师谷老师
限制150内