在COBOL語言字符串處理語句用于對(duì)字符串執(zhí)行多的功能操作。以下是字符串處理語句:
檢查動(dòng)詞是用來計(jì)數(shù)或字符串中的字符替換。字符串操作可以在字母,數(shù)字或字母進(jìn)行。檢查操作是從左至右的字符進(jìn)行。是用于字符串操作的選項(xiàng)如下:
清點(diǎn)選項(xiàng)用于計(jì)數(shù)字符串的字符。
語法
以下是tallying選項(xiàng)語法理:
INSPECT input-string TALLYING output-count FOR ALL CHARACTERS
以下是使用的參數(shù)的詳細(xì)信息:
例子
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 ALL CHARACTERS. DISPLAY "WS-CNT1 : "WS-CNT1. INSPECT WS-STRING TALLYING WS-CNT2 FOR ALL 'A'. DISPLAY "WS-CNT2 : "WS-CNT2 STOP RUN.
JCL執(zhí)行以上COBOL程序。
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C //STEP1 EXEC PGM=HELLO
當(dāng)編譯并執(zhí)行上面的程序它會(huì)產(chǎn)生以下結(jié)果:
WS-CNT1 : 15 WS-CNT2 : 06
替換選項(xiàng)用于替換的字符串的字符。
語法
以下是替換選項(xiàng)的語法:
INSPECT input-string REPLACING ALL char1 BY char2.
以下是使用的參數(shù)的詳細(xì)信息:
示例
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執(zhí)行以上COBOL程序。
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C //STEP1 EXEC PGM=HELLO
當(dāng)編譯并執(zhí)行上面的程序它會(huì)產(chǎn)生以下結(jié)果:
OLD STRING : ABCDACDADEAAAFF NEW STRING : XBCDXCDXDEXXXFF
串動(dòng)詞是用來連接字符串。使用STRING語句,字符的兩個(gè)或更多個(gè)字符串可以被組合以形成一個(gè)更長的字符串。分隔的By子句是強(qiáng)制性的。
語法
以下是動(dòng)詞的字符串的語法:
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.
以下是使用的參數(shù)的詳細(xì)信息:
例子
IDENTIFICATION DIVISION. PROGRAM-ID. HELLO. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-STRING PIC A(30). 01 WS-STR1 PIC A(15) VALUE 'Yiibai'. 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執(zhí)行以上COBOL程序。
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C //STEP1 EXEC PGM=HELLO
當(dāng)編譯并執(zhí)行上面的程序它會(huì)產(chǎn)生以下結(jié)果:
WS-STRING : WelcomeToYiibai WS-COUNT : 25
Unstring動(dòng)詞是用來分割一個(gè)字符串中為多個(gè)子字符串。分隔的By子句是強(qiáng)制性的。
語法
以下是Unstring動(dòng)詞的語法:
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執(zhí)行以上COBOL程序。
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C //STEP1 EXEC PGM=HELLO
當(dāng)編譯并執(zhí)行上面的程序它會(huì)產(chǎn)生以下結(jié)果:
WS-STR1 : WELCOME WS-STR2 : TO WS-STR3 : TUTORIALSPOINT