COBOL言語の文字列の操作について理解しよう!|基礎ガイド

COBOL(コボル)言語のさまざまな文字列操作の方法とは

基礎-文字列2_アルファベット-イメージ

COBOL(コボル)言語の文字列操作とは?

でははじめに文字列の種類について考えてみましょう。よく使われる文字列としてはアルファベット(A-Z)があります。項目名として英語が使われたり、日本語名をローマ字表記して使われるケースがあります。これらアルファベットには大文字と小文字があり区別して利用されています。では最初の文字列操作として小文字を大文字に、大文字を小文字に統一するプログラムを作成してみましょう。

書き方1(UPPER-CASE:小文字を大文字変換する)

FUNCTION UPPER-CASE (引数1)

・関数の型:英数字型

・引数1:大文字に変換する文字列を指定

・戻り値:引数1を大文字に変換した文字列

書き方2(LOWER-CASE:大文字を小文字に変換する)

FUNCTION LOWER-CASE (引数1)

・関数の型:英数字型

・引数1:小文字に変換する文字列を指定

・戻り値:引数1を小文字に変換した文字列

使用例:

基礎-文字列2_アルファベットを使用したプログラム1-使用例

実行結果:

基礎-文字列2_アルファベットを使用したプログラム1-実行結果

COBOL(コボル)言語の文字列操作における基本事項やルールについて

1.「UPPER-CASE、LOWER-CASE」の間の空白や改行は、自由に設定できます。

2.「UPPER-CASE、LOWER-CASE」は、組込み関数の前に予約語「FUNCTION」を指定する必要があります。

3.引数として指定できる文字列の長さは最低でも1文字必要です。

4.変換不要な文字、空白や数字はそのままの値で返却されます。

COBOL(コボル)言語の文字列操作における注意点

今回ご紹介した文字列を大文字や小文字に変換する文字列操作は、日本語項目の指定はできません。日本語項目の指定をするためには第4次規格準拠の処理系である必要があります。

文字列操作には今回ご紹介した例の他にも、例えば文字列の出現回数を取得したり、文字列を連結・分割したり、文字列の並び順を決めたりさまざまな操作をすることができます。操作の種類に応じて処理の書き方が変わりますので、1つ1つ操作の方法を覚えるようにしましょう。COBOL言語基礎ガイドや用語辞典でさまざまなものを紹介していますので、参考にしてみてください。

文字列操作を考えたCOBOL(コボル)プログラムの活用法

COBOL言語の文字列操作として大文字を小文字に変換する、小文字を大文字に変換する処理についてご紹介しました。活用法の文字列操作では、文字列の結合や分割処理を作成してみましょう。サンプルプログラムは郵便番号を例にしてみました。郵便番号の上3桁は、管轄する郵便局がわかるようになっています。郵便番号の4桁目以降は町域が設定されています。文字列の桁に意味合いがある場合に、文字列の分割や結合が使われます。

サンプルプログラム:

  1. IDENTIFICATION DIVISION.
  2. PROGRAM-ID. MOJI2_SAMPLE2.
  3. ENVIRONMENT DIVISION.
  4. DATA DIVISION.
  5. WORKING-STORAGE SECTION.
  6. 01 WK-MOJI.
  7.  05 YUBIN-BANGO1 PIC X(3) VALUE "012".
  8.  05 YUBIN-BANGO2 PIC X(1) VALUE "-".
  9.  05 YUBIN-BANGO3 PIC X(4) VALUE "3456".
  10. 01 WK-YUBIN-BANGO PIC X(8).
  11. 01 WK-MOJI2.
  12.  05 YUBIN2-BANGO1 PIC X(3).
  13.  05 YUBIN2-BANGO2 PIC X(1).
  14.  05 YUBIN2-BANGO3 PIC X(4).
  15. 01 WK-YUBIN2-BANGO PIC X(8) VALUE "987-6543".
  16. PROCEDURE DIVISION.
  17.  DISPLAY "文字列1:" YUBIN-BANGO1
  18.  DISPLAY "文字列2:" YUBIN-BANGO2
  19.  DISPLAY "文字列3:" YUBIN-BANGO3
  20.  STRING YUBIN-BANGO1 YUBIN-BANGO2 YUBIN-BANGO3
    INTO WK-YUBIN-BANGO.
  21.  DISPLAY "文字列結合結果" WK-YUBIN-BANGO.
  22.  DISPLAY "文字列:" WK-YUBIN2-BANGO
  23.  UNSTRING WK-YUBIN2-BANGO INTO YUBIN2-BANGO1
    YUBIN2-BANGO2 YUBIN2-BANGO3
  24.  DISPLAY "文字列分割結果1:" YUBIN2-BANGO1
  25.  DISPLAY "文字列分割結果2:" YUBIN2-BANGO2
  26.  DISPLAY "文字列分割結果3:" YUBIN2-BANGO3
  27. STOP RUN.

実行結果:

基礎-文字列2_アルファベットを使用したプログラム2-実行結果

今回はCOBOL言語のさまざまな文字列操作の方法についてご紹介しました。文字列操作はCOBOL言語では基本的なプログラミングになりますので、実際に活用できるようにご自身で記述して理解を深めましょう。他のプログラミング言語を学ばれている方は、その言語と比較しながら違いについても理解してみましょう。

この記事を読んだ人は、こちらの記事も読んでいます

【未経験者歓迎】COBOLプログラマー・システムエンジニアの募集

株式会社COBOLの求人・転職・募集情報を見る

COBOL入門のカテゴリー

取引企業様 募集中
COBOL技術者 募集
COBOL魂
読者採用
COBOL入門