NLS 関数:比較する文字列にマルチバイト文字を含めることができ,省略可能なフラグが比較を編集することができることを除いて,LGE,LGT,LLE,LLT および論理演算子 .EQ. と .NE. と同じ機能を実行します。
モジュール:USE DFNLS
形式
result = MBLGE ( string_a, string_b, [ flags ] )
result = MBLGT ( string_a, string_b, [ flags ] )
result = MBLLE ( string_a, string_b, [ flags ] )
result = MBLLT ( string_a, string_b, [ flags ] )
result = MBLEQ ( string_a, string_b, [ flags ] )
result = MBLNE ( string_a, string_b, [ flags ] )
string_a, string_b
(入力) CHARACTER*(*)。比較する文字列。マルチバイト文字を含むことができます。
flags
(省略可能,入力) INTEGER(4)。指定すると,文字を比較する際にどの文字特性を使用し,無視するかを決定します。包含的 OR (IOR または OR) を使って様々なフラグを結合することができます。フラグの不正な組み合わせはありません。関数は,フラグなしでも使うことができます。この場合,すべてのフラグ・オプションがオフになります。利用可能な値 (DFNLS.F90 に定義) は以下のとおりです。
NLS$MB_IgnoreCase - 大文字小文字を無視します。
NLS$MB_IgnoreNonspace - 非空白文字を無視します (このフラグは,日本語アクセント文字があれば,それらを削除します)。
NLS$MB_IgnoreSymbols - シンボルを無視します。
NLS$MB_IgnoreKanaType - 日本語ひらがなとカタカナ文字を区別しません (対応するひらがなとカタカナ文字を等価として比較します)。
NLS$MB_IgnoreWidth - 1 バイト文字とこれと同じ 2 バイト文字を区別しません。
NLS$MB_StringSort - アポストロフィとハイフンを含むすべてのシンボルを開始時にソートします(以下の「最後のパラグラフ」を参照)。
結果
結果の型は LOGICAL(4) です。比較は,現在のコードページではなく,現在のロケールを使って行われます。使われるコードページは,現在のロケールの言語と国の組み合わせに対する基本設定です。
文字列が等しいか,string_a が大小順序の最後に来た場合,MBLGE は .TRUE. を返します。そうでなければ,.FALSE. を返します。
string_a が大小順序の最後に来た場合,MBLGT は .TRUE. を返します。そうでなければ,.FALSE. を返します。
文字列が等しいか,string_a が大小順序の最初に来た場合,MBLLE は .TRUE. を返します。そうでなければ,.FALSE. を返します。
string_a が大小順序の最初に来た場合,MBLLT は .TRUE. を返します。そうでなければ,.FALSE. を返します。
文字列が等しい場合,MBLEQ は .TRUE. を返します。そうでなければ,.FALSE. を返します。
文字列が等しくない場合,MBLNE は .TRUE. を返します。そうでなければ,.FALSE. を返します。
2 つの文字列が異なった長さを持つ場合,それらは長さが短い方の文字列の最後までが比較されます。その時点で等しければ,長い方の文字列が大きいことを示す値が返されます。
flags が不正な場合,関数は .FALSE. を返します。
指定された文字列がアラビア語の Kashidas を含んでいる場合,Kashidas は比較中無視されます。そのため,2 つの文字列が文字列中の Kashidas を除いて同じである場合,関数はそれらが「等しい」ことを示す値を返します。
NLS$MB_StringSort フラグを使わない場合,ハイフンとアポストロフィは特別なシンボルで,他とは異なった取り扱いを受けます。これは,単語がリスト中にお互いに存在することを確認するためです。ハイフンとアポストロフィを除いたすべてのシンボルは,他のアルファベット文字よりも前にソートされます。NLS$MB_StringSort フラグを指定した場合,ハイフンとアポストロフィもまた最初にソートされます。
互換性
CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB
関連情報