How To

在业务规则中使用字符串函数

字符串函数让业务规则能够搜索并操控是文本字符串的数据值。

先决条件


你应熟悉以下主题:

业务规则支持的字符串函数


查看下表,了解业务规则支持的字符串函数

函数

描述

示例

输出

ADDTOCURRENTDATE函数

向当前日期添加一个值,并以指定格式返回新的日期。参见 GETCURRENDATE,了解可能的日期格式和日期部分。间隔是添加到日期中的年、月、日的数值。使用负间隔来获得过往日期。Google购物的默认模板使用它来表示商品数据到期日期。

ADDTOCURRENTDATE("yyy-MM-dd", "d", 30)

Returns 2007-05-25(May 25) if the current date is April 25, 2007.

如果当前日期是2007年4月25日,返回 2007-05-25(5月25日)

CONCATENATE 函数

 

最多将8个文本字符串连结成一个字符串。输入的字符串之间没有空格或其它插入的分隔符

 

CONCATENATE ("Space", "man")

"Spaceman"

CONCATENATE($ITEMBRAND, " ", $COLOR, " ", $SIZE)

将几个属性值合并成一个标题

CONTAINS函数

搜索文本是否出现在一个字符串中。搜索区分大小写。

CONTAINS ("cookies", "ook")

true

DEDUP函数

如果提供项目分隔列表和分隔符,返回唯一项的分隔列表

DEDUP("Red,Blue,Red,Green")

"Blue,Green,Red"

GETCURRENCYCODE函数

返回针对特定地区的三个字符货币代码缩写。某些渠道要求商品数据中提供这个值。通常,默认渠道模板将包含这个函数。

GETCURRENCYCODE(*en-GB")

GBP

GETCURRENTDATE函数

 

以指定格式返回当前日期。可用格式选项的完整列表与 Microsoft.Net所提供的完全一致。你可以使用它们的日期格式文档。基本选项如下所示,将它们进行整合,获得所需的效果。这些模式区分大小写——“m”返回的是分钟,而不是月份。

GETCURRENTDATE(MMddyyyy)

03212009

GETPART函数

 

获取文本字符串的 nth部分,这些部分由一些字符分隔开。如果需要使用负数,从最末尾处倒数。

GETPART ("Clothing --> Pants --> Velvet Bellbottoms", "-->", 3)

"Velvet Bellbottoms"

JOIN函数

最多将8个文本字符串连结成一个字符串,使用指定的分隔符。

JOIN (" ","Hello","there")

"Hello there"

JOINNB函数

最多将8个文本字符串连结成一个由给定值分割的字符串。如果任何输入文本字符串是空白的,可将其忽略,输出中将不包含额外的分隔符。

JOINNB(":","Hello","","World","","!")

"Hello:World:!"

LEFT函数

 

从文本字符串左边返回指定数字的字符。

 

LEFT ("Hello world!", 2)

"He"

LEFT($ITEMDESCRIPTION, 2000)

发送从Description (描述)字段的起始位置算起的前2000个字符。

LEFTWORD函数

给定一个输入文本,一个最大长度,一个分隔符,将返回不长于最大长度并且在分隔符处被截断的输入文本的最长部分。

LEFTWORD("The quick brown fox",10," ")

"The quick"

LENGTH函数

返回字符串中的字符数。

LENGTH ("Hello world!")

12

LTRIM 函数

从文本字符串的起始处删除所有空白字符。文本字符串可以是一个字段值,或者带引号的文本。空白包含空格、制表符、回车符和换行符。

LTRIM (" toast ")

"toast "

PROPER函数

让输入文本的标题变成适当大写形式。

PROPER("This is my title.")

"This Is My Title."

REDUCE函数

通过使用提供给用户的规则,将所有子项给定属性的值整合到一个值中。

REDUCE(FUNCTION(VARS(@X,@Y), CONCATENATE(@X,"~",@Y)), $CHILDREN.COLOR,"")

~Red~Blue~Green [假设三个子项有一个名为“颜色的”属性,该属性的值是红色、蓝色和绿色]

REDUCELIST函数

通过使用提供给用户的规则,将指定查找列表中的值整合到一个值中

REDUCELIST(FUNCTION(VARS(@X,@Y,@Z), CONCATENATE(@X,"~",@Y)), "some list","")

~Red~Blue~Green [假设一个列表子项叫做“一些列表”,其名称为红色、看色和绿色]

REGEXGET函数

返回一个常规表达式的首个匹配,如果不匹配,将返回空格。

REGEXGET("Book","o+")

"oo"

REGEXMATCH函数

如果一个字符串包含一个常规表达,返回“ true”,否则返回“ false”

REGEXMATCH("Book","o+")

True

REGEXREPLACE函数

 

在使用常规表达式的字符串中找到文本,并用新文本替换所有匹配条件。如果将被替换的文本出现在字符串中一次以上,所有匹配条件都将被替换。这是更强大的“替换”方法。你必须知道常规表达式如何使用这种方法。它们有一个学习曲线,但是你可以在 http://www.regular-expressions.info/上了解详情。

 

REGEXREPLACE (" Hello", "^[ \t]+", "")

"Hello"

此处使用的常规表达式的用途与 LTRIM一样,但是有更多有用的表达式。

REGEXREPLACE($ITEMDESCRIPTION, "'", "\"")

将 Description (描述)字段里的所有单引号移除,并且用双引号代替它们。

REPLACE函数

 

在字符串中查找文本并用新文本替换所有匹配条件。

 

REPLACE ("coconut", "co", "wing")

"wingwingnut"

REPLACE($ITEMTITLE, $ITEMBRAND, "")

将品牌名称从SKU的标题移除。

REPLACEWORDLIST函数

在输入文本中查看每个单词,如果存在,从提供的列表中替换其对应的查找值。

REPLACEWORDLIST("mylist","Big Box of Stuff")

"Huge Box of Things" [假定有一个名为“ mylist”的列表,该列表中包含条目: "Big" -> "Huge" and "Stuff" -> "Things"]

RIGHT函数

从文本字符串的右边返回指定的字符数。

RIGHT("Hello world!" , 2)

"d!"

RTRIM函数

从文本字符串末尾处删除所有空格字符。

RTRIM(" toast ")

" toast"

STRIPHTML函数

 

从文本中删除形式 标签<标签>。也将去掉XML标签。此外,单独出现的 < 或>字符将被忽略,但是如果二者都出现在一个文本中,那么它们之间的所有文本将被删除。

如果一些标签必须保留,输入第二个参数标记,用逗号分隔开。

 

STRIPHTML ("<b>Hello</b>")

STRIPHTML ("<p><b>Hello</b></p>","p")

"Hello"

<p>Hello</p>

STRIPHTML($ITEMDESCRIPTION)

将 Description (描述)字段里的HTML全部移除。

TOLOWER函数

将文本转化为小写

TOLOWER("My Cat")

"my cat"

TOUPPER函数

将文本转化为大写

TOUPPER("My Cat")

"MY CAT"

TRIM函数

从文本字符串的开头和末尾删除所有空白字符。

TRIM(" toast ")

"toast"

URLENCODE函数

编码一个字符串,使其出现在URL中。

URLENCODE("Home And Garden")

"Home%20And%20Garden"



 

字符串函数让业务规则能够搜索并操控是文本字符串的数据值。

先决条件


你应熟悉以下主题:

业务规则支持的字符串函数


查看下表,了解业务规则支持的字符串函数

函数

描述

示例

输出

ADDTOCURRENTDATE函数

向当前日期添加一个值,并以指定格式返回新的日期。参见 GETCURRENDATE,了解可能的日期格式和日期部分。间隔是添加到日期中的年、月、日的数值。使用负间隔来获得过往日期。Google购物的默认模板使用它来表示商品数据到期日期。

ADDTOCURRENTDATE("yyy-MM-dd", "d", 30)

Returns 2007-05-25(May 25) if the current date is April 25, 2007.

如果当前日期是2007年4月25日,返回 2007-05-25(5月25日)

CONCATENATE 函数

 

最多将8个文本字符串连结成一个字符串。输入的字符串之间没有空格或其它插入的分隔符

 

CONCATENATE ("Space", "man")

"Spaceman"

CONCATENATE($ITEMBRAND, " ", $COLOR, " ", $SIZE)

将几个属性值合并成一个标题

CONTAINS函数

搜索文本是否出现在一个字符串中。搜索区分大小写。

CONTAINS ("cookies", "ook")

true

DEDUP函数

如果提供项目分隔列表和分隔符,返回唯一项的分隔列表

DEDUP("Red,Blue,Red,Green")

"Blue,Green,Red"

GETCURRENCYCODE函数

返回针对特定地区的三个字符货币代码缩写。某些渠道要求商品数据中提供这个值。通常,默认渠道模板将包含这个函数。

GETCURRENCYCODE(*en-GB")

GBP

GETCURRENTDATE函数

 

以指定格式返回当前日期。可用格式选项的完整列表与 Microsoft.Net所提供的完全一致。你可以使用它们的日期格式文档。基本选项如下所示,将它们进行整合,获得所需的效果。这些模式区分大小写——“m”返回的是分钟,而不是月份。

GETCURRENTDATE(MMddyyyy)

03212009

GETPART函数

 

获取文本字符串的 nth部分,这些部分由一些字符分隔开。如果需要使用负数,从最末尾处倒数。

GETPART ("Clothing --> Pants --> Velvet Bellbottoms", "-->", 3)

"Velvet Bellbottoms"

JOIN函数

最多将8个文本字符串连结成一个字符串,使用指定的分隔符。

JOIN (" ","Hello","there")

"Hello there"

JOINNB函数

最多将8个文本字符串连结成一个由给定值分割的字符串。如果任何输入文本字符串是空白的,可将其忽略,输出中将不包含额外的分隔符。

JOINNB(":","Hello","","World","","!")

"Hello:World:!"

LEFT函数

 

从文本字符串左边返回指定数字的字符。

 

LEFT ("Hello world!", 2)

"He"

LEFT($ITEMDESCRIPTION, 2000)

发送从Description (描述)字段的起始位置算起的前2000个字符。

LEFTWORD函数

给定一个输入文本,一个最大长度,一个分隔符,将返回不长于最大长度并且在分隔符处被截断的输入文本的最长部分。

LEFTWORD("The quick brown fox",10," ")

"The quick"

LENGTH函数

返回字符串中的字符数。

LENGTH ("Hello world!")

12

LTRIM 函数

从文本字符串的起始处删除所有空白字符。文本字符串可以是一个字段值,或者带引号的文本。空白包含空格、制表符、回车符和换行符。

LTRIM (" toast ")

"toast "

PROPER函数

让输入文本的标题变成适当大写形式。

PROPER("This is my title.")

"This Is My Title."

REDUCE函数

通过使用提供给用户的规则,将所有子项给定属性的值整合到一个值中。

REDUCE(FUNCTION(VARS(@X,@Y), CONCATENATE(@X,"~",@Y)), $CHILDREN.COLOR,"")

~Red~Blue~Green [假设三个子项有一个名为“颜色的”属性,该属性的值是红色、蓝色和绿色]

REDUCELIST函数

通过使用提供给用户的规则,将指定查找列表中的值整合到一个值中

REDUCELIST(FUNCTION(VARS(@X,@Y,@Z), CONCATENATE(@X,"~",@Y)), "some list","")

~Red~Blue~Green [假设一个列表子项叫做“一些列表”,其名称为红色、看色和绿色]

REGEXGET函数

返回一个常规表达式的首个匹配,如果不匹配,将返回空格。

REGEXGET("Book","o+")

"oo"

REGEXMATCH函数

如果一个字符串包含一个常规表达,返回“ true”,否则返回“ false”

REGEXMATCH("Book","o+")

True

REGEXREPLACE函数

 

在使用常规表达式的字符串中找到文本,并用新文本替换所有匹配条件。如果将被替换的文本出现在字符串中一次以上,所有匹配条件都将被替换。这是更强大的“替换”方法。你必须知道常规表达式如何使用这种方法。它们有一个学习曲线,但是你可以在 http://www.regular-expressions.info/上了解详情。

 

REGEXREPLACE (" Hello", "^[ \t]+", "")

"Hello"

此处使用的常规表达式的用途与 LTRIM一样,但是有更多有用的表达式。

REGEXREPLACE($ITEMDESCRIPTION, "'", "\"")

将 Description (描述)字段里的所有单引号移除,并且用双引号代替它们。

REPLACE函数

 

在字符串中查找文本并用新文本替换所有匹配条件。

 

REPLACE ("coconut", "co", "wing")

"wingwingnut"

REPLACE($ITEMTITLE, $ITEMBRAND, "")

将品牌名称从SKU的标题移除。

REPLACEWORDLIST函数

在输入文本中查看每个单词,如果存在,从提供的列表中替换其对应的查找值。

REPLACEWORDLIST("mylist","Big Box of Stuff")

"Huge Box of Things" [假定有一个名为“ mylist”的列表,该列表中包含条目: "Big" -> "Huge" and "Stuff" -> "Things"]

RIGHT函数

从文本字符串的右边返回指定的字符数。

RIGHT("Hello world!" , 2)

"d!"

RTRIM函数

从文本字符串末尾处删除所有空格字符。

RTRIM(" toast ")

" toast"

STRIPHTML函数

 

从文本中删除形式 标签<标签>。也将去掉XML标签。此外,单独出现的 < 或>字符将被忽略,但是如果二者都出现在一个文本中,那么它们之间的所有文本将被删除。

如果一些标签必须保留,输入第二个参数标记,用逗号分隔开。

 

STRIPHTML ("<b>Hello</b>")

STRIPHTML ("<p><b>Hello</b></p>","p")

"Hello"

<p>Hello</p>

STRIPHTML($ITEMDESCRIPTION)

将 Description (描述)字段里的HTML全部移除。

TOLOWER函数

将文本转化为小写

TOLOWER("My Cat")

"my cat"

TOUPPER函数

将文本转化为大写

TOUPPER("My Cat")

"MY CAT"

TRIM函数

从文本字符串的开头和末尾删除所有空白字符。

TRIM(" toast ")

"toast"

URLENCODE函数

编码一个字符串,使其出现在URL中。

URLENCODE("Home And Garden")

"Home%20And%20Garden"



 

0
Your rating: None
0
Your rating: None
Tags