欢迎来到天天文库
浏览记录
ID:48211194
大小:38.50 KB
页数:6页
时间:2020-01-22
《COBOL字符串的操作.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、COBOL字符串的操作(—)字符串的合并STRING 一、 STRING语句的基本用法DATADIVISIONWORKING-STORAGESECTION.01 FIRST-NAME PIC X(10).01 LAST-NAME PIC X(10).01 FULL-NAME PIC X(20).PROCEDUREDIVISION. MOVE 'ADAM'TOFIRST-NAME. MOVE 'SMITH'TOLAST-NAME. STRING FIRST-NAME DELMITED B
2、YSPACE ''DELIMITEDBYSIZE LAST-NAMEDELIMITEDBYSPACE INTOFULL-NAME. DISPLAY'FIRSTNAME:',FIRST-NAME. DISPLAY'LASTNAME:',LAST-NAME. DISPLAY'FULLNAME:',FULL-NAME. STOPRUN. 输出结果:FIRSTNAME:ADAMLASTNAME:SMITHFULLNAME:ADAMSMITH 以上为STRING语句的基本格式。其中每项用于合并
3、的字符串后面都要加上DELIMITEDBY语句。DELIMITEDBY 子句后面有两个选项,分别为SPACE和SIZE。SPACE:找到前面用于合并的字符串中第一个出现空格的地方。将该空格以前的部分进行合并,空格以后的内容包括该空格在内不参与合并操作。SIZE:将前面对应的用于合并的字符串中的全部内容进行合并。另外BY后可以接一个变量名称,并且将该变量中保存的字符作为原字符串的截取符。截取符的用法同SPACE选项类似。(三)字符串的替换INSPECT语句INSPECT语句主要用于对字符串中的指定部分进行替换。字符串的替换和转换是不同的。字符
4、串替换是将原字符串中的部分字符替换成其他字符。转换时保持原字符串的字符不变,只对其格式进行转换。1.对全体字符进行替换该项功能是通过在INSPECT语句中加上“ALL”选项实现的。下面这段代码将原字符中所有字符“A”替为“B”,并且将所有的0替换为中划线。DATADIVISION.WORKING-STORAGESECTION.01TEST-STRINGPICX(10).*PROCEDUREDIVISION.MOVE'ADCD0A0A8B'TOTEST-STRING.DISPLAY'BEFOREINSPECT:',TEST-STRING.IN
5、SPECTSOURCE-STRINGREPLACINGALL'A'BY'B'.INSPECTSOURCE-STRINGREPLACINGALL0BY'-'.DISPLAY'AFTERINSPECT:',TEST-STRING.STOPRUN.该段代码执行后,将有如下输出信息。BEFOREINSPECT:ADCD0A08BAFTERINSPECT:BDCD-B-8B这种替换方式是对字符串中满足条件的全体字符进行的替换。并且替换后生成的新字符串覆盖了以前的符串。2.对前缀字符进行替换这种替换方式是对字符串前面连续出现的一段字符进行替换,即对前缀
6、字符进行的替换。该项功能是通过在INSPECT语句中加上'LEADING'选项实现的。下面代码对一段表示数字的字符串进行了替换。替换方式为将原字符串中的前缀0替换成前缀星号‘*’,以进行适当的输出。DATADIVISION.WORKING-STORAGESECTION.01TEST-STRINGPICX(10).*PROCEDUREDIVISION.MOVE'0000567.90'TOTEST-STRING.DISPLAY'BEFOREINSPECT:',TEST-STRING.INSPECTTEST-STRINGREPLACINGLEAD
7、ING0BY'*'.DISPLAY'AFTERINSPECT:',TEST-STRING.STOPRUN.该代码执行后,将有如下输出信息。BEFOREINSPECT:0000567.90AFTERINSPECT:****567.90通过以上代码可以发现,使用LEADING选项只是对前缀字符进行了替换。这里的前缀字符是从字符串开头处连续出现的一串字符。因此,即使原字符串中在最后还有一个字符0,也并不对其进行替换。另外INSPECT语句还可以统计并保存前缀字符出现的次数。该项功能是通过结合TALLYING....FORLEADING...实现的
8、。其中前面一个省略号表示用以保存前缀字符出现次数的变量名。后一个省略号表示该前缀字符。以下代码统计并输出了字符串中前缀字符出现的次数。...DATADIVISION.WORKIN
此文档下载收益归作者所有