- COBOL 教程
- COBOL - 主页
- COBOL - 概述
- COBOL - 环境设置
- COBOL - 程序结构
- COBOL - 基本语法
- COBOL - 数据类型
- COBOL - 基本动词
- COBOL - 数据布局
- COBOL - 条件语句
- COBOL - 循环语句
- COBOL - 字符串处理
- COBOL - 表处理
- COBOL - 文件处理
- COBOL - 文件组织
- COBOL - 文件访问模式
- COBOL - 文件处理动词
- COBOL - 子例程
- COBOL - 内部排序
- COBOL - 数据库接口
- COBOL 有用资源
- COBOL - 问题与解答
- COBOL - 快速指南
- COBOL - 有用的资源
COBOL - 字符串处理
COBOL 中的字符串处理语句用于对字符串执行多种功能操作。以下是字符串处理语句 -
- 检查
- 细绳
- 解弦
检查
Inspect 动词用于计算或替换字符串中的字符。可以对字母数字、数字或字母值执行字符串操作。检查操作是从左到右进行的。用于字符串操作的选项如下 -
理货
Tallying 选项用于计算字符串字符数。
句法
以下是 Tallying 选项的语法 -
INSPECT input-string TALLYING output-count FOR ALL CHARACTERS
使用的参数是 -
- input-string - 要计算字符数的字符串。
- 输出计数- 保存字符计数的数据项。
例子
IDENTIFICATION DIVISION. PROGRAM-ID. HELLO. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-CNT1 PIC 9(2) VALUE 0. 01 WS-CNT2 PIC 9(2) VALUE 0. 01 WS-STRING PIC X(15) VALUE 'ABCDACDADEAAAFF'. PROCEDURE DIVISION. INSPECT WS-STRING TALLYING WS-CNT1 FOR CHARACTER. DISPLAY "WS-CNT1 : "WS-CNT1. INSPECT WS-STRING TALLYING WS-CNT2 FOR ALL 'A'. DISPLAY "WS-CNT2 : "WS-CNT2 STOP RUN.
JCL来执行上面的COBOL程序。
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C //STEP1 EXEC PGM = HELLO
当您编译并执行上述程序时,它会产生以下结果 -
WS-CNT1 : 15 WS-CNT2 : 06
更换
替换选项用于替换字符串中的字符。
句法
以下是替换选项的语法 -
INSPECT input-string REPLACING ALL char1 BY char2.
使用的参数是 -
input-string - 其字符将从 char1 替换为 char2 的字符串。
例子
IDENTIFICATION DIVISION. PROGRAM-ID. HELLO. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-STRING PIC X(15) VALUE 'ABCDACDADEAAAFF'. PROCEDURE DIVISION. DISPLAY "OLD STRING : "WS-STRING. INSPECT WS-STRING REPLACING ALL 'A' BY 'X'. DISPLAY "NEW STRING : "WS-STRING. STOP RUN.
JCL来执行上面的COBOL程序。
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C //STEP1 EXEC PGM = HELLO
当您编译并执行上述程序时,它会产生以下结果 -
OLD STRING : ABCDACDADEAAAFF NEW STRING : XBCDXCDXDEXXXFF
细绳
字符串动词用于连接字符串。使用STRING语句,可以组合两个或多个字符串以形成更长的字符串。“Delimited By”子句是强制性的。
句法
以下是字符串动词的语法 -
STRING ws-string1 DELIMITED BY SPACE ws-string2 DELIMITED BY SIZE INTO ws-destination-string WITH POINTER ws-count ON OVERFLOW DISPLAY message1 NOT ON OVERFLOW DISPLAY message2 END-STRING.
以下是所使用参数的详细信息 -
- ws-string1 和 ws-string2 :要连接的输入字符串
- ws-string :输出字符串
- ws-count :用于计算新连接字符串的长度
- 定界指定字符串的结尾
- 指针和溢出是可选的
例子
IDENTIFICATION DIVISION. PROGRAM-ID. HELLO. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-STRING PIC A(30). 01 WS-STR1 PIC A(15) VALUE 'Tutorialspoint'. 01 WS-STR2 PIC A(7) VALUE 'Welcome'. 01 WS-STR3 PIC A(7) VALUE 'To AND'. 01 WS-COUNT PIC 99 VALUE 1. PROCEDURE DIVISION. STRING WS-STR2 DELIMITED BY SIZE WS-STR3 DELIMITED BY SPACE WS-STR1 DELIMITED BY SIZE INTO WS-STRING WITH POINTER WS-COUNT ON OVERFLOW DISPLAY 'OVERFLOW!' END-STRING. DISPLAY 'WS-STRING : 'WS-STRING. DISPLAY 'WS-COUNT : 'WS-COUNT. STOP RUN.
JCL执行上述 COBOL 程序 -
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C //STEP1 EXEC PGM = HELLO
当您编译并执行上述程序时,它会产生以下结果 -
WS-STRING : WelcomeToTutorialspoint WS-COUNT : 25
解弦
Unstring 动词用于将一个字符串拆分为多个子字符串。Delimited By 子句是强制性的。
句法
以下是 Unstring 动词的语法 -
UNSTRING ws-string DELIMITED BY SPACE INTO ws-str1, ws-str2 WITH POINTER ws-count ON OVERFLOW DISPLAY message NOT ON OVERFLOW DISPLAY message END-UNSTRING.
例子
IDENTIFICATION DIVISION. PROGRAM-ID. HELLO. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-STRING PIC A(30) VALUE 'WELCOME TO TUTORIALSPOINT'. 01 WS-STR1 PIC A(7). 01 WS-STR2 PIC A(2). 01 WS-STR3 PIC A(15). 01 WS-COUNT PIC 99 VALUE 1. PROCEDURE DIVISION. UNSTRING WS-STRING DELIMITED BY SPACE INTO WS-STR1, WS-STR2, WS-STR3 END-UNSTRING. DISPLAY 'WS-STR1 : 'WS-STR1. DISPLAY 'WS-STR2 : 'WS-STR2. DISPLAY 'WS-STR3 : 'WS-STR3. STOP RUN.
JCL执行上述 COBOL 程序 -
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C //STEP1 EXEC PGM = HELLO
当您编译并执行上述程序时,它会产生以下结果 -
WS-STR1 : WELCOME WS-STR2 : TO WS-STR3 : TUTORIALSPOINT