COBOL - Saite Handhabung



String-Behandlungsanweisungen in COBOL werden verwendet, um mehrere Funktionsvorgänge auf Zeichenfolgen zu tun. Im Folgenden werden die String-Handling-Anweisungen::

  • Inspizieren
  • Saite
  • Unstring

Inspizieren

Überprüfen Verb wird verwendet, um zu zählen oder ersetzen Sie die Zeichen in einem String. String-Operationen können auf alphanumerisch, numerisch oder alphabetisch Werte durchgeführt werden. Untersuchen Operationen von links nach rechts. Die für die String-Operationen verwendeten Optionen sind wie folgt:

Auszählung

Auszählung Option wird verwendet, um die Zeichenfolge Zeichen zählen..

Syntax

Es folgt die Syntax der Auszählung Option:

INSPECT input-string
TALLYING output-count FOR ALL CHARACTERS

Die verwendeten Parameter sind:

  • Eingabezeichenfolge : Der String, dessen Zeichen gezählt werden.
  • Ausgabe-count: Datenpunkt , um die Anzahl der Zeichen halten.

Beispiel

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 oben COBOL-Programm zu ausführen.

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO

Wenn Sie kompilieren und führen Sie das obige Programm, es produziert das folgende Ergebnis:

WS-CNT1 : 15
WS-CNT2 : 06

Austausch

Ersetzen Option wird verwendet, um die Zeichenfolge Zeichen ersetzt werden.

Syntax

Im Folgenden finden Sie die Syntax Ersetzen Option:

INSPECT input-string REPLACING ALL char1 BY char2.

Der Parameter verwendet wird:

Eingabezeichenfolge: Die Zeichenfolge, deren Zeichen von char1 ersetzt werden, um char2.

Beispiel

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 oben COBOL-Programm zu ausführen.

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO

Wenn Sie kompilieren und führen Sie das obige Programm, es produziert das folgende Ergebnis:

OLD STRING : ABCDACDADEAAAFF
NEW STRING : XBCDXCDXDEXXXFF

String

String Verb wird verwendet, um die Zeichenfolgen zu verketten. Mit STRING-Anweisung kann zwei oder mehr Zeichenfolgen kombiniert werden, um eine längere Kette zu bilden. "Getrennt durch" -Klausel ist obligatorisch.

Syntax

Im Folgenden ist die Syntax von String Verb:

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.

Im Folgenden werden die Details der verwendeten Parameter:

  • ws-string1 und ws-string2: Eingabezeichenfolgen verkettet werden
  • ws-string : Output string
  • ws-count: verwendet, um die Länge der neuen verkettete Zeichenfolge zählen
  • Trennzeichen gibt das Ende der Zeichenfolge
  • Pointer und Overflow sind optional

Beispiel

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 oben COBOL-Programm zu ausführen:

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO

Wenn Sie kompilieren und führen Sie das obige Programm, es produziert das folgende Ergebnis:

WS-STRING : WelcomeToTutorialspoint       
WS-COUNT : 25

Unstring

UNSTRING Verb wird verwendet, um eine Zeichenkette in mehreren Teilstrings aufgeteilt. Begrenzt By-Klausel ist obligatorisch.

Syntax

Im Folgenden ist die Syntax der UNSTRING Verb:

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.

Beispiel

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 oben COBOL-Programm zu ausführen:

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO

Wenn Sie kompilieren und führen Sie das obige Programm, es produziert das folgende Ergebnis:

WS-STR1 : WELCOME
WS-STR2 : TO
WS-STR3 : TUTORIALSPOINT 
Advertisements