COBOL2002 言語 拡張仕様編
LENGTH-OF-SUBSTRING関数は,開始位置と長さを指定することによって,データ項目中の文字列から部分文字列の文字位置の個数を返す。開始位置と長さは,見た目幅または文字数で指定できる。この関数の型は,整数とする。
なお,この組み込み関数を使用するためには,-UniObjGenオプションの指定が必要である。-UniObjGenオプションについては,マニュアル「COBOL2002 ユーザーズガイド」またはマニュアル「COBOL2002 使用の手引 手引編」のUnicode機能を参照のこと。
字類 | 文字コード |
---|---|
英字,英数字 | UTF-8 |
日本語 | UTF-16 |
ある文字列のm文字目からn文字目を参照したい,または開始位置と長さを指定して文字を書き込みたい場合,シフトJISでは部分参照を使用できる。
次の文字列NAME-KNの8文字目から文字列を転記する文の例を示す。
シフトJISの場合,文字数とけた数が対応しているため,上記のように部分参照のけた数に文字数を指定して処理ができる。
Unicodeの場合は,文字数とけた数が対応しないため,シフトJISと同様のコーディングができない。そこで,文字数をけた数に変換するLENGTH-OF-SUBSTRING関数を使用する。
LENGTH-OF-SUBSTRING関数を使用すると,引数に指定した開始位置と長さによって指定した文字列から,該当する文字列が占めるけた数を求めることができるため,その結果によって,部分参照を行うことができる。
All Rights Reserved. Copyright (C) 2003, 2017, Hitachi, Ltd.