本节包含适用于字符串值的函数的简要描述。
函数 | 用途 |
---|---|
convert | 将字符串转换为另一种数据类型,或者将另一种数据类型转换为字符串。 |
decode | 将已编码的字符串表达式转换回原始字符串。 |
encode | 将字符串表达式转换为毫无意义的文本字符串。 |
hex | 将其中包含十六进制字符代码的字符串文字转换为 ASCII 字符串。 |
in_set | 如果字符串完全由另一个字符串中的字符组成,那么此函数将返回布尔值 true。 |
is_number | 如果字符串表达式求值为浮点值或整数值,那么此函数将返回布尔值 true。 |
is_time | 如果字符串表达式求值为有效的时间值,那么此函数将返回布尔值 true。 |
len | 将返回字符串的长度。 |
将字符串的字符更改为小写或大写。 | |
从字符串的开头 (ltrim)、末尾 (rtrim) 或两端 (trim) 删除空格或者删除所指定的字符。 | |
max | 从表达式列表中返回任何受支持数据类型的最大值。 |
min | 从表达式列表中返回任何受支持数据类型的最小值。 |
numbertostring | 使用所指定的掩码将 float 或 integer 转换为字符串表达式。 |
repeat | 通过将一个字符串重复所指定的次数来创建另一个字符串。 |
strins | 将一个字符串插入到另一个字符串中的指定位置。 |
strloc | 将返回一个字符串中的子串的起始位置。如果找不到此子串,那么此函数将返回 0。 |
stringtotime | 使用所指定的掩码将字符串表达式转换为时间表达式。 |
substitute | 在字符串中,将一个子串替换为另一个子串。 |
substr | 根据所指定的起始位置和长度来返回子串。 |
timetostring | 使用所指定的掩码将时间表达式转换为字符串表达式。 |
translate | 替换字符串中的字符。 |
xmlencode | 将 XML 字段转换为字符串表达式。 |
xmldecode | 将字符串表达式转换为 XML。 |
此函数会将十六进制字符代码的字符串文字转换为 ASCII 字符串。尽管您通常将 hex 函数用于不具备 ASCII 表示法的字符(例如,制表符),但是此函数可以表示任何字符。
hex (hex_codes)
其中 hex_codes 是其中包含一个字符或者一系列字符的十六进制代码的字符串文字。hex ("616263")
此函数通过将一个字符串中的字符替换为您所指定的字符来创建新的字符串。translate 函数对于为字符编码很有用。
translate (source_string, search_string,
replace_string)
其中:参数 | 描述 |
---|---|
source_string | 其中包含要替换的字符的字符串。 |
search_string | source_string 中要替换的字符组成的字符串。其长度必须与 replace_string 相同。 |
replace_string | 替换字符组成的字符串。其长度必须与 search_string 相同。 |
按每个字符进行搜索并替换。如果搜索字符串为 "abc",替换字符串为 "def",那么此函数在新创建的字符串中会将 "a" 替换为 "d",将 "b" 替换为 "e",将 "c" 替换为 "f"。
source_string 包含 "*123-#44-!999"
search_string 包含 "#*!-"
replace_string 包含 "XYZ&"
那么此函数将输出以下新字符串:Y123&X44&Z999
请注意,源字符串、搜索字符串和替换字符串的内容不变。
translate (str, ".,", ",.")
lower (string_exp)
upper (string_exp)
其中 string_exp 是要转换的字符串表达式。此函数对两个字符串进行比较,如果第一个字符串中的每个字符都包含在第二个字符串中的某处,那么此函数将返回布尔值 true。如果第一个字符串中至少有一个字符未包含在第二个字符串中,那么此函数将返回 false。这两个字符串中的字符不需要按完全相同的顺序出现;此外,第二个字符串中还可以包含其他字符。
in_set (subset_string, superset_string)
其中:参数 | 描述 |
---|---|
subset_string | 其中仅包含子集字符的字符串表达式。 |
superset_string | 与 subset_string 进行比较的字符串表达式。 |
in_set (name, "abcdefghijklmnopqrstuvwxyz")
the
function returns true if name = "jim"
but
false if name = "Fido"
or name = "a.b"
len (string_expr)
其中 string_expr 是要计算其长度的字符串表达式。len ("Hamilton Burger")
repeat (string_expr, repeat_num)
其中:参数 | 描述 |
---|---|
string_expr | 要重复的字符串表达式。 |
repeat_num | 重复 string_exp 的次数。 |
repeat ("abcd", 5)
子串是源字符串的一部分;其长度可以小于或等于源字符串的长度。例如,Good、Morn、od Morni 和 Good Morni 都是 Good Morning 的子字符串。
使用 strloc 函数来了解特定子串出现在源字符串中的位置。此函数将返回此子串在源字符串中的起始字符位置。
如果在源字符串中可以多次找到此子串,那么此函数将返回它第一次出现时的起始位置。如果找不到此子串,或者此子串比源字符串更长,那么此函数将返回 0。
strloc (source_string, sub_string)
其中:参数 | 描述 |
---|---|
source_string | 要在其中搜索此子串的字符串。 |
sub_string | 要搜索的字符串。 |
strloc ("Good Morning", "Morning")
此函数将从源字符串中抽取一个子串,从而创建一个新的字符串。您要指定源字符串以及开始进行抽取的字符位置。此外,您可以选择提供要抽取的字符数;如果您不提供此信息,那么将在源字符串的末尾停止抽取。
substr (source_string, start_pos {, length})
其中:参数 | 描述 |
---|---|
source_string | 源字符串。 |
start_pos | 开始进行抽取的字符位置。 |
length | 要抽取的字符数(例如,所抽取的字符串的长度)。 |
substr ("Good Morning!", 6, 7)
此函数还可以在比字符串长度长一个字符的位置抽取长度为 0 的字符串(引号之间没有任何字符的字符串)。对于将长度为 0 的字符串作为边缘条件的算法,这种用法很有用。可以从字符串的第一个位置到最后一个字符 +1 的位置抽取字符;因此,第一个位置以及字符串长度 +1 就是边缘条件。
如果存在下列情况,那么将发生运行时错误:
strins (source_string, insert_string, start_pos)
其中:参数 | 描述 |
---|---|
source_string | 将与 insert_string 组合成一个新字符串的字符串。 |
insert_string | 将与 source_string 组合成一个新字符串的字符串。 |
start_pos | 在 source_string 中开始插入的位置;值的范围是从 1 到 source_string + 1。 如果您指定的值小于 1 或者大于 source_string + 1,那么将发生运行时错误。 |
insert_str = "Mr. Jones,"
和 source_str = "Good morning, what a lovely day."
strins (source_str, insert_str, 15)
Good morning, Mr. Jones, what a lovely day.
substitute (source_string, unwanted_string,
replacement_string)
其中:参数 | 描述 |
---|---|
source_string | 其中包含 unwanted_string 的字符串。 |
unwanted_string | source_string 的子串。 |
replacement_string | 一个字符串,它将替换 unwanted_string 以创建一个新的字符串。 |
substitute (TestString, "abc", "wxyz")
TestString = "abcdabcd"
,那么此函数将返回以下新字符串:wxyzdwxyzd
请注意,源字符串、不需要的字符串和替换字符串的内容不变。这些函数将通过复制现有的源字符串,然后从新字符串的开头 (ltrim)、末尾 (rtrim) 或两端 (trim) 删除空格或者删除所指定的字符来创建新的字符串。在所有情况下,源字符串都将保持不变。
ltrim (string_expr{, trim_char}opt)
rtrim (string_expr{, trim_char}opt)
trim (string_expr{, trim_char}opt)
其中:参数 | 描述 |
---|---|
string_expr | 要复制的源字符串表达式。 |
trim_char | 这是一个可选参数,它指定要从新字符串中删除的字符。如果您未指定此参数,那么将删除空格。 根据此函数,将从新字符串的开头、末尾或者两端开始删除,直到找到在 trim_char 中未指定的字符(或者非空格字符)为止。 |
LastName = "Smith"
且返回的新字符串为 "Smith"
ltrim (LastName)
Status = "OpenXY&Z&&&&"
,那么返回的新字符串为 "OpenXY&Z"
rtrim (Status, "&")
rtrim (AccountName, "0123456789")
此函数将确定所指定的字符串表达式是否求值为浮点值或整数值。如果整个字符串(而不只是一个子串)求值为浮点值或整数值,那么 is_number 函数将返回布尔值 true,否则将返回 false。
is_number (expr)
其中 expr 是字符串表达式。is_number ("123.4")
is_number ("no")
is_number ("abc63j")
此函数将确定所指定的字符串表达式是否求值为所指定格式的时间值。如果整个字符串(而不只是一个子串)求值为具有指定格式的时间,那么 is_time 函数将返回布尔值 true,否则将返回值 false。
is_time (str_expr, date_time_mask)
其中:参数 | 描述 |
---|---|
str_expr | 字符串表达式。 |
date_time_mask | 这是一个日期/时间掩码,用于指定 str_expr 必须使用的格式,以便让 is_time 返回值 true。 |
is_time ("nov121995", "mm/dd/yyyy")
is_time ("11/12/1995", "mm/dd/yyyy")
timetostring (time_expr, date_time_mask)
其中:参数 | 描述 |
---|---|
time_expr | time 类型的表达式。 |
date_time_mask | 这是用于确定 timetostring 函数的输出格式的日期/时间掩码。 |
timetostring (systemtime(), "mm/dd/yyyy hh:tt:ss am")
7/1/1985 12:45:06 pm
请参阅有关 systemtime() 函数的信息。
stringtotime (string_expr, date_time_mask)
其中:参数 | 描述 |
---|---|
string_expr | string 类型的表达式。 |
date_time_mask | 用于指定要用于转换的时间格式的日期/时间掩码。 |
stringtotime (HostTime, "mon. dd, yyyy hh:tt:ss am")
HostTime = "Jul. 1, 1985 12:45:06 pm"
,那么最终获得的输出是一个等价于 1985 年 7 月 1 日下午 12:45 过 6 秒的时间值。