COBOL - Обработка строк



Обработка строк с заявлениями в COBOL, используются несколько функциональных операций на строки. Ниже приведены обработка строк с заявлениями выступили:

  • Осмотр
  • Строка
  • Unstring

Осмотр

Осмотрите глагол используется для подсчета или замена символов в строке. строковых операций может быть выполнена на буквенно-цифровые, числовое значение, или буквенного значения. Осмотрите операции выполняются слева направо. Функции, используемые для строковых операций являются:

Счетная комиссия

Коля вариант используется для подсчета строки символов.

Синтаксис

В синтаксисе Счетная комиссия:

INSPECT input-string
TALLYING output-count FOR ALL CHARACTERS

Параметры:

  • Вход-строки: строка, символы, учитываются.
  • Выход - количество : элемент данных для удержания количество символов.

Пример

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 для выполнения выше 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.

Параметр используется:

Вход-строки: строка, символы должны быть заменены от чар1 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 глагол:

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-строка : выходная строка
  • WS-количество : используется для отсчета длина новых каскадных строка
  • Данные с разделителями указывает в конце строки
  • Указатель мыши и переполнения факультативного

Пример

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

Unstring глагол используется для разделения одной строки на несколько строк. Данные с разделителями 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 
Advertisements