品目ルールの文字列関数
すべての文字列関数は大/小文字が区別されます。 大/小文字を区別しない比較を実行するには、==比較演算子を使用します。
文字列比較関数
比べる
構文:
compare(string1, string2)
string1がstring2と完全に等しい場合は0を返します。 string1が辞書学的にstring2より小さい場合は -1を返します。 string1が辞書順でstring2より大きい場合、+1を返します
contains
構文:
contains(look_for_string, look_in_string)
look_in_stringでlook_for_stringが見つかった場合はTRUEを返します。 それ以外の場合はFALSEを返します。
例:
次の例では、品目摘要が「computer accessory product」の場合はTRUEを返します。
If Expression: contains("accessory", [item].[main].[description])
endsWith
構文:
endsWith(look_for_string, look_in_string)
look_in_stringがlook_for_stringで終わる場合はTRUEを返します。 それ以外の場合はFALSEを返します。
マッチ
構文:
match(regexp_pattern, look_in_string)
regexp_patternがlook_in_stringに一致する場合はTRUEを返します。 それ以外の場合はFALSEを返します。
この関数は、検索で正規表現パターン一致を使用します。 正規表現の詳細は、java.util.regex.Pattern ( http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html) )のJavadocリファレンスを参照してください。
例:
次の例では、説明に「electronic」または「electric」が含まれている場合はTRUEを返します。
match("ele*c", [item].[main].[description])
startsWith
構文:
startsWith(look_for_string, look_in_string)
look_in_stringがlook_for_stringで始まる場合はTRUEを返します。 それ以外の場合はFALSEを返します。
例:
次の例では、品目の説明が「ノート」の場合はTRUEを返します。
startsWith("Note", [item].[main].[description])
その他の文字列関数
+ (プラス記号)
構文:
expression1 + expression2
2つの式を連結して、結果の文字列を返します。 式が他のデータ型の場合も、有効な文字列が返されます。
indexOf
構文:
(look_for_string, look_in_string)
look_in_string内のlook_for_stringの位置を返します。 文字列の位置は0から始まります。 look_for_stringが見つからない場合は -1を返します。 検索では大/小文字が区別されます。 いずれかの式がnullの場合はnullを返します。
長さ
構文:
length(expression)
文字列expressionの長さを返します。 expressionがnullの場合はnullを返します。
小文字
構文:
lowercase(expression)
文字列expressionに相当する小文字を返します。 expressionがnullの場合はnullを返します。
置換
構文:
replace(look_for_string, replacement_string, look_in_string)
このメソッドは、look_for_stringに一致するlook_in_stringの各サブ文字列をreplacement_stringに置き換えた後にlook_in_stringを返します。
例:
次の例では、Item.Main.[Item Description]自体の値を変更せずに、品目の説明の値に含まれるRedのすべてのインスタンスがBlueに置き換えられる文字列を返します:
replace("Red", "Blue", Item.Main.[Item Description])
また、置換する部分文字列を識別するために正規表現を使用することもできます。
次の例では、品目の詳細記述属性値で、すべての桁がnに置き換えられている文字列を返します:
replace("\\d", "n", [Item].[Main].[Long Description])
詳細記述の値がSentinel 15V 6A 90W AC Power Adapterの場合、この例ではSentinel nnV nA nnW AC Power Adapterが返されます
部分文字列
構文:
substring(string, start)
substring(string, start, end)
startで始まり、endの前に終わる文字列stringのサブ文字列を返します。 endを省略すると、stringの余りを返します。 文字列の位置は0から始まります。 startが0より小さい場合は、文字列の先頭から開始します。 startがstring の長さより大きい場合は、文字列の最後まで戻されます。 引数のいずれかがnullの場合はnullを返します。
例:
ルールを使用して、GTINのパッケージ・インジケータの桁が品目のパック・タイプに適していることを検証できます。 GTINは、梱包階層の複数レベルで割り当てることができます。 GTIN採番ルールで、品目の梱包タイプが「EA」の場合、GTINの4桁目が8であると宣言されているシナリオを考えてみます。 次のルール式を検証ルールで使用して、この種の検証を実行できます。
If Expression: [Item].[Main].[Pack Type] == "EA"
Validation Condition: subString([GTIN].[GTIN Main].[GTIN], 4, 4) == "8"
トリム
構文:
trim(expression)
expressionから先頭および末尾(中央ではない)の空白文字をすべて削除します。 expressionがnullの場合はnullを返します。
大文字
構文:
uppercase(expression)
文字列expressionに相当する大文字を返します。 expressionがnullの場合はnullを返します。