品目ルールの文字列関数
すべての文字列関数は大/小文字が区別されます。 大/小文字を区別しない比較を実行するには、==比較演算子を使用します。
文字列比較関数
比べる
構文:
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
構文:
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を返します。