カテゴリ: COBOL 更新日: 2025/10/28

COBOLのINSPECT文を完全ガイド!初心者でもわかるTALLYING・REPLACINGの使い方

INSPECT文の使い方:TALLYING・REPLACINGなど
INSPECT文の使い方:TALLYING・REPLACINGなど

先生と生徒の会話形式で理解しよう

生徒

「先生、COBOLで文字列の中にある特定の文字を数えたり、置き換えたりする方法ってありますか?」

先生

「いい質問ですね。COBOLにはINSPECT文というとても便利な命令があります。これを使えば文字列の操作が簡単にできますよ。」

生徒

「具体的にはどんなことができるんですか?」

先生

「例えば、文字列の中に『A』がいくつあるか数えることや、『-』をスペースに置き換えるといったことができます。それでは実際に見ていきましょう!」

1. INSPECT文とは?

1. INSPECT文とは?
1. INSPECT文とは?

COBOLのINSPECT文は、文字列を調べたり加工するための命令です。英語で「検査する」という意味があり、その名の通り文字列の中を調査して数えたり置換したりできます。

プログラミング未経験の方にわかりやすく説明すると、文章を読みながら、特定の文字を探す係のようなものです。例えば「バナナ」という文字列を渡すと、INSPECTが一文字ずつ確認して「Aが2個あります」と数えてくれます。

2. INSPECT TALLYINGで文字数を数える

2. INSPECT TALLYINGで文字数を数える
2. INSPECT TALLYINGで文字数を数える

TALLYINGは「数える」という意味です。文字列の中に含まれる特定の文字の数をカウントすることができます。


       IDENTIFICATION DIVISION.
       PROGRAM-ID. COUNT-EXAMPLE.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 TEXT       PIC X(20) VALUE "BANANA APPLE".
       01 COUNT-A    PIC 9(2) VALUE 0.
       PROCEDURE DIVISION.
           INSPECT TEXT TALLYING COUNT-A FOR ALL "A".
           DISPLAY "Aの数は " COUNT-A.
           STOP RUN.

Aの数は 4

この例では「BANANA APPLE」という文字列の中に「A」がいくつあるか数えています。結果は4となります。文字列処理の基本テクニックとしてよく使われる書き方です。

3. INSPECT REPLACINGで文字を置き換える

3. INSPECT REPLACINGで文字を置き換える
3. INSPECT REPLACINGで文字を置き換える

REPLACINGは「置き換える」という意味です。文字列の中の特定の文字を別の文字に変更できます。


       IDENTIFICATION DIVISION.
       PROGRAM-ID. REPLACE-EXAMPLE.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 TEXT       PIC X(20) VALUE "123-456-789".
       PROCEDURE DIVISION.
           INSPECT TEXT REPLACING ALL "-" BY " ".
           DISPLAY "置換後: " TEXT.
           STOP RUN.

置換後: 123 456 789

この例では、文字列の中のハイフン(-)をスペースに置き換えています。電話番号のようにハイフン付きの文字列を整形する時に便利です。

4. TALLYINGとREPLACINGを組み合わせて使う

4. TALLYINGとREPLACINGを組み合わせて使う
4. TALLYINGとREPLACINGを組み合わせて使う

TALLYINGREPLACINGは別々に使うこともできますが、同時に利用して、数えた後に置き換えるといった処理も可能です。


       IDENTIFICATION DIVISION.
       PROGRAM-ID. MIX-EXAMPLE.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 TEXT       PIC X(30) VALUE "HELLO-WORLD-COBOL".
       01 COUNT-HYPHEN PIC 9(2) VALUE 0.
       PROCEDURE DIVISION.
           INSPECT TEXT 
               TALLYING COUNT-HYPHEN FOR ALL "-"
               REPLACING ALL "-" BY " ".
           DISPLAY "ハイフンの数: " COUNT-HYPHEN.
           DISPLAY "置換後: " TEXT.
           STOP RUN.

ハイフンの数: 2
置換後: HELLO WORLD COBOL

このプログラムでは、まずハイフンの数を数え、その後すべてスペースに置き換えています。文字列処理を効率よく行いたい時にとても役立つ方法です。

5. 初心者がつまずきやすいポイント

5. 初心者がつまずきやすいポイント
5. 初心者がつまずきやすいポイント
  • 大文字と小文字の区別:COBOLのINSPECTは大文字小文字を区別します。例えば「A」と「a」は別の文字と認識されます。
  • 全角と半角の違い:日本語の文字列を扱うときは全角と半角が区別されるため注意が必要です。
  • 文字列の長さPIC X(20)などで文字列の長さを決めています。指定より長い文字列を入れると切り捨てられます。

これらの基本を理解しておくと、COBOLの文字列操作をスムーズに行うことができます。

6. 実務での活用例

6. 実務での活用例
6. 実務での活用例

銀行や保険などのシステムでは、COBOLのINSPECT文を使って以下のような処理が行われています。

  • 入力された顧客データに禁止文字が含まれていないかチェックする
  • マイナンバーや電話番号のフォーマットを整える
  • 文字列の中から特定の記号や空白を取り除く

このように、文字列を検査・整形する処理は業務システムで頻繁に使われる重要な技術です。

カテゴリの一覧へ
新着記事
C#で複数ファイルをまとめて操作する方法(foreach・LINQ)をやさしく解説!
C#のインターフェースとは?クラス設計を柔軟にする基本技術
C#のコンストラクタの役割と使い方!オブジェクト初期化の基本
COBOLでデータベース接続を理解しよう!初心者でもわかる基本の考え方
人気記事
No.1
Java&Spring記事人気No1
C#のpartialクラスとは?初心者でも理解できるクラス分割の基本
No.2
Java&Spring記事人気No2
C#で型を調べる方法!GetType()・typeof演算子の違いと使い方
No.3
Java&Spring記事人気No3
C#の数値型をマスターしよう!int・double・decimalの違いと使い方
No.4
Java&Spring記事人気No4
COBOLのCOPY句の使い方を完全ガイド!初心者でもわかる共通部品の再利用方法