下列函数是 Net.Data 支持的标准字符串函数集:
MBCS 支持 OS/390、OS/2、Windows NT 和 UNIX:可以用 DTW_ MBMODE 配置值指定多字节字符集(MBCS)对单词和字符串的支持。在 Net.Data 初始化文件中指定这个 值;缺省是不支持的。 可以通过在 Net.Data 宏文件中设置 DTW_MBMODE 变量来覆盖初始化文件中的值。参阅 Net.Data 管理与程序设计指南中的配置变量章节和 DTW_MBMODE,获取更多的信息。
MBCS 支持 OS/400:自动提供 DBCS 支持,且不要求这个变量。
AIX | HP-UX | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
X | X | X | X | X | X | X | X |
目的
将一个输入变量的值赋给输出变量。 因为在 ROW 块之外不能识别 $(Vn) (其中 n 是一个数),所以如果要在 ROW 块 之外引用这个值,可以使用这个函数将值赋给另一个变量。
同样可以使用这个函数在宏中更改一个变量。例如,您可以更改 HTML 块 中的 DATABASE。(参阅DATABASE作为例子。)
格式
@DTW_ASSIGN(stringOut, stringIn)
值
数据类型 | 参数 | 用法 | 说明 |
---|---|---|---|
字符串 | stringOut | OUT | 包含和 stringIn 完全相同的文字串的变量。 |
字符串 | stringIn | IN | 一个变量或文字串。 |
例
例 1:
@DTW_ASSIGN(RC, "0")
例 2:
@DTW_ASSIGN(string1, string2)
AIX | HP-UX | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
X | X | X | X | X | X | X | X |
目的
连接两个字符串。
格式
@DTW_CONCAT(stringIn1, stringIn2, stringOut)
@DTW_rCONCAT(stringIn1, stringIn2)
值
数据类型 | 参数 | 用法 | 说明 |
---|---|---|---|
字符串 | stringIn1 | IN | 一个变量或文字串。 |
字符串 | stringIn2 | IN | 一个变量或文字串。 |
字符串 | stringOut | OUT | 包含字符串 'stringIn1stringIn2'的变量,其中 string1 后连接 string2 。 |
例
例 1:
@DTW_CONCAT("This", " is a test.", result)
例 2:
@DTW_CONCAT(string1, "1-2-3", result)
例 3:
@DTW_rCONCAT("This", " is a test.")
AIX | HP-UX | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
X | X | X | X | X | X | X | X |
目的
从指定的字符串删除从第 n 个字符开始,长度为 length 的一个子串。
格式
@DTW_DELSTR(stringIn, n, length, stringOut)
@DTW_DELSTR(stringIn, n, stringOut)
@DTW_rDELSTR(stringIn, n, length)
@DTW_rDELSTR(stringIn, n)
值
数据类型 | 参数 | 用法 | 说明 |
---|---|---|---|
字符串 | stringIn | IN | 一个变量或文字串。 |
整数 | n | IN | 要删除的子串所开始的字符位置。如果 n 的值 大于 stringIn 的长度,则将 stringOut 设置成 stringIn 的值。 |
整数 | length | OUT | 要删除的子串的长度。缺省是删除到 stringIn 结尾 为止的所有字符。 |
字符串 | stringOut | OUT | 包含 stringIn 的修改格式的变量。 |
例
例 1:
@DTW_DELSTR("abcde", "3", "2", result)
例 2:
@DTW_rDELSTR("abcde", "4", "1")
AIX | HP-UX | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
X | X | X | X | X | X | X | X |
目的
将一个字符串插入到另一个字符串的第 n 个字符后。
格式
@DTW_INSERT(stringIn1, stringIn2, n, length, pad, stringOut)
@DTW_INSERT(stringIn1, stringIn2, n, length, stringOut)
@DTW_INSERT(stringIn1, stringIn2, n, stringOut)
@DTW_INSERT(stringIn1, stringIn2, stringOut)
@DTW_rINSERT(stringIn1, stringIn2, n, length, pad)
@DTW_rINSERT(stringIn1, stringIn2, n, length)
@DTW_rINSERT(stringIn1, stringIn2, n)
@DTW_rINSERT(stringIn1, stringIn2)
值
数据类型 | 参数 | 用法 | 说明 |
---|---|---|---|
字符串 | stringIn1 | IN | 要出入到 stringIn2 中的变量或者文字串。 |
字符串 | stringIn2 | IN | 一个变量或文字串。 |
整数 | n | IN | stringIn2 中的字符位置,在其后插入 stringIn1。如果 n 大于 stringIn2 的长度,则在其中填满填充字 符(pad),直至有足够个数的字符为止。缺省是插入在 stringIn2 的开始位置。 |
整数 | length | IN | 要插入的 stringIn1 的字符数。如果此参数 的值大于 stringIn1 的长度,则用填充字符 pad 来填充。 缺省是 stringIn1 的长度。 |
整数 | pad | IN | 填充字符,如对n 和 length 的描述。缺省填充字符是一个空格。 |
字符串 | stringOut | OUT | 一个包含由于插入部分或全部 stringIn1 而修改过的 stringIn2 的变量。 |
例
例 1:
@DTW_INSERT("123", "abc", result)
例 2:
@DTW_INSERT("123", "abc", "5", result)
例 3:
@DTW_INSERT("123", "abc", "5", "6", result)
例 4:
@DTW_INSERT("123", "abc", "5", "6", "/", result)
例 5:
@DTW_rINSERT("123","abc","5","6","+")
AIX | HP-UX | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
X | X | X | X | X | X | X | X |
目的
返回一个字符串在另一个字符串中最后一次出现的位置,从第 n 个字符开始往字符串 开始方向查找(从右到左)。
格式
@DTW_LASTPOS(stringIn1, stringIn2, n, position)
@DTW_LASTPOS(stringIn1, stringIn2, position)
@DTW_rLASTPOS(stringIn1, stringIn2, n)
@DTW_rLASTPOS(stringIn1, stringIn2)
值
数据类型 | 参数 | 用法 | 说明 |
---|---|---|---|
字符串 | stringIn1 | IN | 在 stringIn2 中搜索的变量或者文字串。 |
字符串 | stringIn2 | IN | 一个变量或文字串。 |
整数 | n | IN | 在 stringIn2 中搜索 stringIn1 的开始字符 位置。缺省是从最后一个字符开始搜索并向后扫描(从右到左)。 |
整数 | position | OUT | stringIn1 在 stringIn2 中最后一次出现 的位置。如果找不到这种串,就返回 0。 |
例
例 1:
@DTW_LASTPOS(" ", "abc def ghi", result)
例 2:
@DTW_LASTPOS(" ", "abc def ghi", "10", result)
例 3:
@DTW_rLASTPOS(" ","abc def ghi","7")
AIX | HP-UX | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
X | X | X | X | X | X | X | X |
目的
返回字符串的长度。
格式
@DTW_LENGTH(stringIn, length)
@DTW_rLENGTH(stringIn)
值
数据类型 | 参数 | 用法 | 说明 |
---|---|---|---|
字符串 | stringIn | IN | 一个变量或文字串。 |
整数 | length | OUT | 包含 stringIn 中字符个数的符号。 |
例
例 1:
@DTW_LENGTH("abcdefgh", result)
例 2:
@DTW_rLENGTH("")
AIX | HP-UX | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
X | X | X | X | X | X | X | X |
目的
返回一个所有字符全为小写的字符串。
格式
@DTW_LOWERCASE(stringIn, stringOut)
@DTW_rLOWERCASE(stringIn)
@DTW_mLOWERCASE(stringMult1, stringMult2, ..., stringMultn)
值
数据类型 | 参数 | 用法 | 说明 |
---|---|---|---|
字符串 | stringIn | IN | 一个变量或文字串,其中的字符可以是大写或小写。 |
字符串 | stringOut | OUT | 包含 stringIn (其中所有字符都是小写的)的变量。 |
字符串 | stringMult | INOUT |
|
例
例 1:
@DTW_LOWERCASE("This", stringOut)
例 2:
@DTW_rLOWERCASE(string1)
例 3:
@DTW_mLOWERCASE(string1, string2, string3)
AIX | HP-UX | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
X | X | X | X | X | X | X | X |
目的
使用向前搜索模式,返回一个字符串在另一个字符串中第一次出现的位置。
格式
@DTW_POS(stringIn1, stringIn2, n, nOut)
@DTW_POS(stringIn1, stringIn2, nOut)
@DTW_rPOS(stringIn1, stringIn2, n)
@DTW_rPOS(stringIn1, stringIn2)
值
数据类型 | 参数 | 用法 | 说明 |
---|---|---|---|
字符串 | stringIn1 | IN | 一个要搜索的变量或文字串。 |
字符串 | stringIn2 | IN | 一个被搜索(在其中搜索另一个字符串)的变量或文字串。 |
整数 | n | IN | stringIn2 中开始搜索的字符位置。缺省值 是从 stringIn2 的第一个字符开始搜索。 |
整数 | nOut | OUT | 包含 stringIn1 在 stringIn2 中第一次出现的位置值的 一个变量。如果找不到这种串,就返回 0。 |
例
例 1:
@DTW_POS("day", "Saturday", result)
例 2:
@DTW_POS("a", "Saturday", "3", result)
例 3:
@DTW_rPOS(" ","abc def ghi","5")
AIX | HP-UX | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
X | X | X | X | X | X | X | X |
目的
将输入字符串反转过来。
格式
@DTW_REVERSE(stringIn, stringOut)
@DTW_rREVERSE(stringIn)
值
数据类型 | 参数 | 用法 | 说明 |
---|---|---|---|
字符串 | stringIn | IN | 要进行反转的变量或文字串。 |
字符串 | stringOut | OUT | 包含 stringIn 的反转格式的变量。 |
例
例 1:
@DTW_REVERSE("This is it.", result)
例 2:
@DTW_rREVERSE(string1)
AIX | HP-UX | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
X | X | X | X | X | X | X | X |
目的
从输入字符串删除前导空格或尾随空格(或同时删除)。
格式
@DTW_STRIP(stringIn, option, stringOut)
@DTW_STRIP(stringIn, stringOut)
@DTW_rSTRIP(stringIn, option)
@DTW_rSTRIP(stringIn)
值
数据类型 | 参数 | 用法 | 说明 |
---|---|---|---|
字符串 | stringIn | IN | 一个变量或文字串。 |
字符串 | option | IN | 指定从 stringIn 删除哪些空格。 缺省值是 B。
|
字符串 | stringOut | OUT | 一个包含按照选项所指去除了空格的 stringIn 的变 量。 |
例
例 1:
@DTW_STRIP(" day ", result)
例 2:
@DTW_STRIP(" day ", "T", result)
例 3:
@DTW_rSTRIP(" a day ","L")
AIX | HP-UX | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
X | X | X | X | X | X | X | X |
目的
返回输入字符串的一个子串,其中可能带填充字符。
格式
@DTW_SUBSTR(stringIn, n, length, pad, stringOut)
@DTW_SUBSTR(stringIn, n, length, stringOut)
@DTW_SUBSTR(stringIn, n, stringOut)
@DTW_rSUBSTR(stringIn, n, length, pad)
@DTW_rSUBSTR(stringIn, n, length)
@DTW_rSUBSTR(stringIn, n)
值
数据类型 | 参数 | 用法 | 说明 |
---|---|---|---|
字符串 | stringIn | IN | 一个被搜索(在其中搜索另一个字符串)的变量或文字串。 |
整数 | n | IN | 子字符串第一个字符的位置。 缺省是从 stringIn 的开始位置开始 |
整数 | length | IN | 子串的字符个数。 缺省值是字符串的剩余部分。 |
字符串 | pad | IN | 如果 n 大于 stringIn 的长度或者如果 length比 stringIn 长的时侯所使用的填充字符。缺省值是一个空格。 |
字符串 | stringOut | OUT | 包含 stringIn 的子字符串的变量。 |
例
例 1:
@DTW_SUBSTR("abc", "2", result)
例 2:
@DTW_SUBSTR("abc", "2", "4", result)
例 3:
@DTW_SUBSTR("abc", "2", "4", ".", result )
例 4:
@DTW_rSUBSTR("abc", "2", "6", ".")
AIX | HP-UX | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
X | X | X | X | X | X | X | X |
目的
使用输入和输出转换表 tableI 和 tableO 来转换输入字符 串中的字符。如果参数列表中没有 tableI、tableO 和 default字符 ,则 stringIn 参数转换成大写。如果列表中存在 tableI和 tableO,则在 tableI 中搜索输入字符串中的每个字符,并在 tableO 中转换成 相应的字符。如果 tableI 中的字符和 tableO 中的字符无对应关系,则使用 default字符。
格式
@DTW_TRANSLATE(stringIn, tableO, tableI, default, stringOut)
@DTW_TRANSLATE(stringIn, tableO, tableI, stringOut)
@DTW_TRANSLATE(stringIn, tableO, stringOut)
@DTW_TRANSLATE(stringIn, stringOut)
@DTW_rTRANSLATE(stringIn, tableO, tableI, default)
@DTW_rTRANSLATE(stringIn, tableO, tableI)
@DTW_rTRANSLATE(stringIn, tableO)
@DTW_rTRANSLATE(stringIn)
值
数据类型 | 参数 | 用法 | 说明 |
---|---|---|---|
字符串 | stringIn | IN | 一个变量或文字串。 |
字符串 | tableO | IN | 一个作为转换表使用的变量或文字串。使用空("")指定 tableI或 default;否则这个参数是可选的。 |
字符串 | tableI | IN | 在 stringIn 中搜索的变量或者文字串。使用空( "")指定 default;否则这个参数是可选的。 |
字符串 | default | IN | 要使用的缺省字符。缺省值是一个空格。 |
字符串 | stringOut | OUT | 包含 stringIn 的转换结果的变量。 |
例
例 1:
@DTW_TRANSLATE("abbc", result)
例 2:
@DTW_TRANSLATE("abbc", "R", "bc", result)
例 3:
@DTW_rTRANSLATE("abcdef", "12", "abcd", ".")
例 4:
@DTW_rTRANSLATE("abbc", "", "", "")
AIX | HP-UX | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
X | X | X | X | X | X | X | X |
目的
返回一个大写的字符串。
格式
@DTW_UPPERCASE(stringIn, stringOut)
@DTW_rUPPERCASE(stringIn)
@DTW_mUPPERCASE(stringMult1, stringMult2, ..., stringMultn)
值
数据类型 | 参数 | 用法 | 说明 |
---|---|---|---|
字符串 | stringIn | IN | 一个变量或文字串,其中的字符可以是大写或小写。 |
字符串 | stringOut | OUT | 包含 stringIn (其中所有字符都是大写的)的变量。 |
字符串 | stringMult | INOUT |
|
例
例 1:
@DTW_UPPERCASE("Test", result)
例 2:
@DTW_rUPPERCASE(string1)
例 3:
@DTW_mUPPERCASE(string1, string2, string3)