資料の 英語版 に戻る

ストリング関数

最終更新: 2025年2月11日
ストリング関数 (SPSS Modeler)

CLEMの使用で、文字列の比較、文字列の作成、または文字へのアクセスの操作を実行できます。

CLEM では、ストリングは、一致する二重引用符 ("string quotes") の間にある任意の文字シーケンスです。 文字 (CHAR) には、任意の単一英数字を使用できます。 これらは、CLEM 式で、 `z``A``2`などの `<character>`の形式の単一逆引用符を使用して宣言されます。 範囲外の文字、または文字列に対する逆索引文字は、未定義の動作が生じます。

注: SQL プッシュバックを使用するストリングと使用しないストリングを比較すると、末尾にスペースが存在する場合に異なる結果が生成される可能性があります。
表 1. CLEM文字列関数
関数 結果 説明
allbutfirst(N, STRING) String STRING の先頭 N 文字‚ð削除した文字列を返します。
allbutlast(N, STRING) String STRING の最後の文字を削除した文字列を返します。
alphabefore(STRING1, STRING2) ブール値 文字列のアルファベット順を確認するために用いられます。 STRING1STRING2 より前にある場合に真を返します。
count_substring(STRING, SUBSTRING) 整数 指定したサブ文字列が文字列内に発生する回数を返します。 例えば、 count_substring("foooo.txt", "oo")3を返します。
endstring(LENGTH, STRING) String 指定されたストリングから最後の N 文字を抽出します。 文字列の長さが指定した長さよりも短いか、またはそれに等しい場合は、変更されません。
hasendstring(STRING, SUBSTRING) 整数 この関数は isendstring(SUBSTRING, STRING) と同じです。
hasmidstring(STRING, SUBSTRING) 整数 この関数は ismidstring(SUBSTRING, STRING) (組み込みサブストリング) と同じです。
hasstartstring(STRING, SUBSTRING) 整数 この関数は isstartstring(SUBSTRING, STRING) と同じです。
hassubstring(STRING, N, SUBSTRING) 整数 この関数は issubstring(SUBSTRING, N, STRING)と同じです。 N のデフォルトは 1です。
hassubstring(STRING, SUBSTRING) 整数 この関数は issubstring(SUBSTRING, 1, STRING)と同じです。 N のデフォルトは 1です。
isalphacode(CHAR) ブール値 CHAR が、文字コードが文字である指定された文字列 (通常フィールド名) 中の文字の場合に真を返します。 それ以外の場合、この関数は 0の値を返します。 例えば、isalphacode(produce_num(1)) などです。
isendstring(SUBSTRING, STRING) 整数 文字列 STRING がサブ文字列 SUBSTRING で終わる場合、この関数は、STRING 内の SUBSTRING の整数の添字を返します。 それ以外の場合、この関数は 0の値を返します。
islowercode(CHAR) ブール値 CHAR が、指定されたストリング (多くの場合、フィールド名) の小文字である場合、 true の値を戻します。 それ以外の場合、この関数は 0の値を返します。 例えば、 islowercode(``)islowercode(country_name(2)) の両方が有効な式です。
ismidstring(SUBSTRING, STRING) 整数 SUBSTRINGSTRING の部分文字列で、STRING の初めの文字から始まっていないか、または最後の文字で終わっていない場合、この関数は部分文字列が始まる位置の添字を返します。 それ以外の場合、この関数は 0の値を返します。
isnumbercode(CHAR) ブール値 指定された文字列 (通常フィールド名) の CHAR が、文字コードが数字である文字の場合に真を返します。 それ以外の場合、この関数は 0の値を返します。 例えば、isnumbercode(product_id(2)) などです。
isstartstring(SUBSTRING, STRING) 整数 ストリング STRING がサブストリング SUBSTRINGで始まる場合、この関数は添え字 1を戻します。 それ以外の場合、この関数は 0の値を返します。
issubstring(SUBSTRING, N, STRING) 整数 ストリング STRINGを、その Nth 文字から始めて、ストリング SUBSTRINGと等しいサブストリングを検索します。 文字列が見つかった場合、一致する部分文字列が始まる位置の添字 M (整数) を返します。 それ以外の場合、この関数は 0の値を返します。 N が指定されていない場合、この関数はデフォルトで 1になります。
issubstring(SUBSTRING, STRING) 整数 ストリング STRINGを検索します。 文字列が見つかった場合、一致する部分文字列が始まる位置の添字 M (整数) を返します。 それ以外の場合、この関数は 0の値を返します。
issubstring_count(SUBSTRING, N, STRING) 整数 指定された STRING内の SUBSTRINGNth オカレンスの索引を戻します。 SUBSTRINGの出現数が N より少ない場合は、 0 が返されます。
issubstring_lim(SUBSTRING, N, STARTLIM, ENDLIM, STRING) 整数 この関数は issubstringと同じですが、マッチングは STARTLIM で開始し、 ENDLIMで終了するように制約されます。 STARTLIM 制約または ENDLIM 制約は、いずれかの引数に false の値を指定することによって無効にすることができます。例えば、 issubstring_lim(SUBSTRING, N, false, false, STRING)issubstringと同じです。
isuppercode(CHAR) ブール値 この関数は CHAR が大文字の場合に、真 (true) の値を返します。 それ以外の場合、この関数は 0の値を返します。 例えば、 isuppercode(``)isuppercode(country_name(2)) の両方が有効な式です。
last(STRING) String この関数は、STRING の最後の文字 CHAR を返します(少なくとも 1 文字以上の長さがなければなりません)。
length(STRING) 整数 文字列STRING の長さ (つまり、その中の文字数) を戻します。
locchar(CHAR, N, STRING) 整数 シンボル値フィールド中の文字の位置を識別するために用いられます。 この関数は、ストリング STRING で文字 CHARを検索し、 STRINGNth 文字から検索を開始します。 この関数は、文字が見つかった (N から始まる) 位置を示す値を返します。 文字が検出されない場合、この関数は 0 の値を返します。 関数に無効なオフセット (N) (例えば、文字列の長さを超えるオフセット) がある場合、この関数は $null$ を返します。
例えば、 locchar(`n`, 2, web_page) は、 web_page というフィールドで、フィールド値の 2 番目の文字から始まる `n` 文字を検索します。
必ず、単一の逆引用符を使用して指定する文字を囲んでください。
locchar_back(CHAR, N, STRING) 整数 loccharと似ていますが、検索が Nth 文字から逆方向に実行される点が異なります。 例えば、 locchar_back(`n`, 9, web_page) は、9 番目の文字からストリングの先頭に向かって逆方向にフィールド web_page を検索します。 関数のオフセットが無効な場合 (例えばオフセットが文字列の長さを超えているなど)、この関数は $null$ を返します。 できる限り、locchar_back を関数 length(<field>) とともに使用して、フィールドの現在の値の長さを動的に使用することをお勧めします。 例えば、locchar_back(`n`, (length(web_page)), web_page) です。
lowertoupper(CHAR) lowertoupper (STRING) CHAR または String 文字または文字列を入力にすることができ、同じデータ型の新しい項目を返すために用いられます。その際小文字はすべて同じ文字の大文字に変換されます。 例えば、lowertoupper(`a`)lowertoupper(“My string”)、および lowertoupper(field_name(2)) はすべて有効な式です。
matches ブール値 指定されたパターンにストリングが一致する場合、 true を返します。 パターンはストリング・リテラルでなければなりません。パターンを含むフィールド名にすることはできません。 パターンに疑問符 (?) を含めると、1 文字だけを突き合わせることができます。アスタリスク (*) は 0 個以上の文字と一致します。 リテラルの疑問符またはアスタリスクを (ワイルドカードとして使用するのではなく) 突き合わせるには、エスケープ文字として円記号 (\) を使用します。
replace(SUBSTRING, NEWSUBSTRING, STRING) String 指定した STRING 内で、SUBSTRING のすべてのインスタンスを NEWSUBSTRINGを使用して置き換えます。
replicate(COUNT, STRING) String 指定した回数だけコピーされた元の文字列を含む文字列を返します。
stripchar(CHAR,STRING) String 文字列またはフィールドから、指定した文字を削除します。 この関数を利用すれば、データから通貨表記などの余分な記号を削除して、単純な数字または名前を取得できます。 例えば、シンタックス stripchar(`$`, 'Cost') を使用すると、すべての値からドル記号を削除した新しいフィールドが返されます。
必ず、単一の逆引用符を使用して指定する文字を囲んでください。
skipchar(CHAR, N, STRING) 整数 ストリング STRING で、 Nth 文字から始まる CHAR以外の文字を検索します。 この関数は、検出されたポイントを示す整数サブストリングを返します。 Nth 以降のすべての文字が CHARの場合は、 0 を返します。 関数のオフセットが無効な場合 (例えばオフセットが文字列の長さを超えているなど)、この関数は $null$ を返します。
locchar は、 N (ストリングの検索を開始するポイント) の値を判別するために、 skipchar 関数と組み合わせて使用されることがよくあります。 例えば、 skipchar(`s`, (locchar(`s`, 1, "MyString")), "MyString")などです。
skipchar_back(CHAR, N, STRING) 整数 skipcharと似ていますが、検索が Nth 文字から逆方向に実行される点が異なります。
startstring(N, STRING) String 指定した文字列から最初のN 文字を抽出します。 文字列の長さが指定した長さよりも短いか、またはそれに等しい場合は、変更されません。
strmember(CHAR, STRING) 整数 locchar(CHAR, 1, STRING) と同じです。 CHAR が最初に出現するポイントを示す整数サブストリング、または 0を返します。 関数のオフセットが無効な場合 (例えばオフセットが文字列の長さを超えているなど)、この関数は $null$ を返します。
subscrs(N, STRING) 文字 入力ストリング STRINGNth character CHAR を返します。 この関数は、STRING(N) という短い形式で記述することもできます。 例えば、lowertoupper(“name”(1)) は有効な式です。
substring(N, LEN, STRING) String ストリング SUBSTRINGを戻します。これは、添え字 Nの文字から始まる、ストリング STRINGLEN 文字で構成されます。
substring_between(N1, N2, STRING) String 添字 N1 から始まり、添字 N2 で終わる STRING のサブ文字列を返します。
textsplit(STRING, N, CHAR) String textsplit(STRING,N,CHAR) は、 CHARNth-1Nth の間のサブストリングを返します。 N1の場合、 STRING の先頭から CHARまでのサブストリングを返します (は含まれません)。 N-1CHARの最後のオカレンスである場合は、 CHARNth-1 のオカレンスからストリングの終わりまでのサブストリングを返します。
trim(STRING) String 指定した文字列から、文字列の前後の空白文字を削除します。
trimstart(STRING) String 指定した文字列から、文字列の前の空白文字を削除します。
trimend(STRING) String 指定した文字列から、文字列の後の空白文字を削除します。
unicode_char(NUM) 文字 16 進数値ではなく 10 進数を入力する必要があります。 Unicode 値 NUMの文字を返します。
unicode_value(CHAR) NUM CHARの Unicode 値を返します。
uppertolower(CHAR) uppertolower (STRING) CHAR または String 文字または文字列を入力にすることができ、同じデータ型の新しい項目を返すために用いられます。その際、大文字はすべて同じ文字の小文字に変換されます。
二重引用符で文字列を指定し、単一逆引用符で文字を指定することを忘れないでください。 単純なフィールド名の場合は、引用符は使用しません。