这些函数是字符串函数的补充,用于修改单词或设置单词。Net.Data 将单词(字)解释
为由空格分隔的字符串,或两边都有空格的字符串。例子如下:
| 字符串值 | 单词个数 |
|---|---|
| one two three | 3 |
| one , two , three | 5 |
| Part 2: Internet Sales Grow | 5 |
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 支持,且不要求这个变量。
下列是 Net.Data 支持的字处理函数:
| AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
| X | X | X | X | X | X | X | X | X |
目的
删除一个字符串中的单词,从第 n 个单词开始, 要删除的单词个数由 length 指定。
格式
@DTW_DELWORD(stringIn, n, length, stringOut)
@DTW_DELWORD(stringIn, n, stringOut)
@DTW_rDELWORD(stringIn, n, length)
@DTW_rDELWORD(stringIn, n)
参数
| 数据类型 | 参数 | 用法 | 说明 |
|---|---|---|---|
| 字符串 | stringIn | IN | 一个变量或文字串。 |
| 整数 | n | IN | 要删除的第一个单词的单词位置。 |
| 整数 | length | IN | 要删除的单词个数。缺省情况是删除 从 n 到 stringIn 结尾为止的所有单词。这是可选的参数。 |
| 字符串 | stringOut | OUT | 包含 stringIn 的修改格式的变量。 |
返回码
| 返回码 | 说明 |
|---|---|
| -1001 | 服务器不能处理 Net.Data 请求来分配内存。 |
| 1001 | 输入参数中包含一个空值。 |
| 1003 | 在函数调用时传递的参数数目或者超过了允许的最大数目,或者小于该函数必需的最小数目。 |
| 1005 | 传递给函数调用的参数应该是一个字符串变量,但实际上是另一个类型的变量。 |
| 1006 | 传递给函数调用的参数必须是一个输出参数,但实际上传递了一个文字串。 |
| 1007 | 参数中包含了一个无效值。 |
例
例 1
@DTW_DELWORD("Now is the time", "5", result)
例 2:
@DTW_DELWORD("Now is the time", "2", result)
例 3:
@DTW_DELWORD("Now is the time", "2", "2", result)
例 4:
@DTW_rDELWORD("Now is the time.", "3")
| AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
| X | X | X | X | X | X | X | X | X |
目的
返回一个字符串的子串,从第 n 个单词开始, 子串中的单词个数由 length 指定。
格式
@DTW_SUBWORD(stringIn, n, length, stringOut)
@DTW_SUBWORD(stringIn, n, stringOut)
@DTW_rSUBWORD(stringIn, n, length)
@DTW_rSUBWORD(stringIn, n)
参数
| 数据类型 | 参数 | 用法 | 说明 |
|---|---|---|---|
| 字符串 | stringIn | IN | 一个变量或文字串。 |
| 整数 | n | IN | 子串的第一个单词的单词位置。如果此值 大于 stringIn 中的单词个数,则返回空。 |
| 整数 | length | IN | 子串中的单词个数。如果这个值大于从 第 n 个单词到 stringIn 结尾为止的单词总个数,则返回到 stringIn 结尾 为止的所有单词。缺省情况是返回从第 n 个单词到 stringIn 结尾为止的所有单词。 |
| 字符串 | stringOut | OUT | 包含由 n和 length 指定的 stringIn的子字符串的变量。 |
返回码
| 返回码 | 说明 |
|---|---|
| -1001 | 服务器不能处理 Net.Data 请求来分配内存。 |
| 1001 | 输入参数中包含一个空值。 |
| 1003 | 在函数调用时传递的参数数目或者超过了允许的最大数目,或者小于该函数必需的最小数目。 |
| 1005 | 传递给函数调用的参数应该是一个字符串变量,但实际上是另一个类型的变量。 |
| 1006 | 传递给函数调用的参数必须是一个输出参数,但实际上传递了一个文字串。 |
| 1007 | 参数中包含了一个无效值。 |
例
例 1:
@DTW_SUBWORD("Now is the time", "5", result)
例 2:
@DTW_SUBWORD("Now is the time", "2", result)
例 3:
@DTW_SUBWORD(Now is the time", "2", "2", result)
例 4:
@DTW_rSUBWORD("Now is the time", "3")
| AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
| X | X | X | X | X | X | X | X | X |
目的
返回字符串中第 n 个单词。
格式
@DTW_WORD(stringIn, n, stringOut)
@DTW_rWORD(stringIn, n)
参数
| 数据类型 | 参数 | 用法 | 说明 |
|---|---|---|---|
| 字符串 | stringIn | IN | 一个变量或文字串。 |
| 整数 | n | IN | 要返回的单词的单词位置。如果此值大于 stringIn 中的单词个数,则返回空。 |
| 字符串 | stringOut | OUT | 包含第 n 个单词位置的单词的一个变量。 |
返回码
| 返回码 | 说明 |
|---|---|
| -1001 | 服务器不能处理 Net.Data 请求来分配内存。 |
| 1001 | 输入参数中包含一个空值。 |
| 1003 | 在函数调用时传递的参数数目或者超过了允许的最大数目,或者小于该函数必需的最小数目。 |
| 1005 | 传递给函数调用的参数应该是一个字符串变量,但实际上是另一个类型的变量。 |
| 1006 | 传递给函数调用的参数必须是一个输出参数,但实际上传递了一个文字串。 |
| 1007 | 参数中包含了一个无效值。 |
例
例 1:
@DTW_WORD("Now is the time", "3", result)
例 2:
@DTW_WORD("Now is the time", "5", result)
例 3:
@DTW_rWORD("Now is the time", "4")
| AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
| X | X | X | X | X | X | X | X | X |
目的
返回字符串中第 n 个单词的第一个字符的字符位置。
格式
@DTW_WORDINDEX(stringIn, n, stringOut)
@DTW_rWORDINDEX(stringIn, n)
参数
| 数据类型 | 参数 | 用法 | 说明 |
|---|---|---|---|
| 字符串 | stringIn | IN | 一个变量或文字串。 |
| 整数 | n | IN | 要索引的单词的单词位置。如果此值大于输入字符串 中的单词个数,则返回 0。 |
| 字符串 | stringOut | OUT | 包含 stringIn中第 n 个单词的字符位置 的变量。 |
返回码
| 返回码 | 说明 |
|---|---|
| -1001 | 服务器不能处理 Net.Data 请求来分配内存。 |
| 1001 | 输入参数中包含一个空值。 |
| 1003 | 在函数调用时传递的参数数目或者超过了允许的最大数目,或者小于该函数必需的最小数目。 |
| 1005 | 传递给函数调用的参数应该是一个字符串变量,但实际上是另一个类型的变量。 |
| 1006 | 传递给函数调用的参数必须是一个输出参数,但实际上传递了一个文字串。 |
| 1007 | 参数中包含了一个无效值。 |
例
例 1:
@DTW_WORDINDEX("Now is the time", "3", result)
例 2:
@DTW_WORDINDEX("Now is the time", "6", result)
例 3:
@DTW_rWORDINDEX("Now is the time", "2")
| AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
| X | X | X | X | X | X | X | X | X |
目的
返回字符串中第 n 个单词的长度。
格式
@DTW_WORDLENGTH(stringIn, n, stringOut)
@DTW_rWORDLENGTH(stringIn, n)
参数
| 数据类型 | 参数 | 用法 | 说明 |
|---|---|---|---|
| 字符串 | stringIn | IN | 一个变量或文字串。 |
| 整数 | n | IN | 要查询长度的那个单词的单词位置。如果此值大于输入字符串 中的单词个数,则返回 0。 |
| 字符串 | stringOut | OUT | 包含 stringIn 中第 n个单词的长度值的一个变量。 |
返回码
| 返回码 | 说明 |
|---|---|
| -1001 | 服务器不能处理 Net.Data 请求来分配内存。 |
| 1001 | 输入参数中包含一个空值。 |
| 1003 | 在函数调用时传递的参数数目或者超过了允许的最大数目,或者小于该函数必需的最小数目。 |
| 1005 | 传递给函数调用的参数应该是一个字符串变量,但实际上是另一个类型的变量。 |
| 1006 | 传递给函数调用的参数必须是一个输出参数,但实际上传递了一个文字串。 |
| 1007 | 参数中包含了一个无效值。 |
例
例 1:
@DTW_WORDLENGTH("Now is the time", "1", result)
例 2:
@DTW_rWORDLENGTH("Now is the time", "6")
| AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
| X | X | X | X | X | X | X | X | X |
目的
返回一个字符串在另一个字符串内第一次出现的单词位置。
格式
@DTW_WORDPOS(stringIn1, stringIn2, n, stringOut)
@DTW_WORDPOS(stringIn1, stringIn2, stringOut)
@DTW_rWORDPOS(stringIn1, stringIn2, n)
@DTW_rWORDPOS(stringIn1, stringIn2)
参数
| 数据类型 | 参数 | 用法 | 说明 |
|---|---|---|---|
| 字符串 | stringIn1 | IN | 一个变量或文字串。 |
| 字符串 | stringIn2 | IN | 一个被搜索(在其中搜索另一个字符串)的变量或文字串。 |
| 整数 | n | IN | stringIn2 中开始搜索的单词位置。如果此值大于 stringIn2中的单词个数,则返回 0。缺省情况是从 stringIn2的开头开始搜索。 |
| 字符串 | stringOut | OUT | stringIn1 在 stringIn2 中的单词。 |
返回码
| 返回码 | 说明 |
|---|---|
| -1001 | 服务器不能处理 Net.Data 请求来分配内存。 |
| 1001 | 输入参数中包含一个空值。 |
| 1003 | 在函数调用时传递的参数数目或者超过了允许的最大数目,或者小于该函数必需的最小数目。 |
| 1005 | 传递给函数调用的参数应该是一个字符串变量,但实际上是另一个类型的变量。 |
| 1006 | 传递给函数调用的参数必须是一个输出参数,但实际上传递了一个文字串。 |
| 1007 | 参数中包含了一个无效值。 |
用法注意事项
在比较时将多个空格看作一个空格。
例
例 1:
@DTW_WORDPOS("the", "Now is the time", result)
例 2:
@DTW_WORDPOS("The", "Now is the time", result)
例 3:
@DTW_WORDPOS("The", "Now is the time", "5", result)
例 4:
@DTW_WORDPOS("is the", "Now is the time", result)
例 5:
@DTW_rWORDPOS("be", "To be or not to be", "3")
| AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
| X | X | X | X | X | X | X | X | X |
目的
返回一个字符串中的单词个数。
格式
@DTW_WORDS(stringIn, stringOut)
@DTW_rWORDS(stringIn)
参数
| 数据类型 | 参数 | 用法 | 说明 |
|---|---|---|---|
| 字符串 | stringIn | IN | 一个变量或文字串。 |
| 字符串 | stringOut | OUT | 包含 stringIn 中单词个数的变量。 |
返回码
| 返回码 | 说明 |
|---|---|
| -1001 | 服务器不能处理 Net.Data 请求来分配内存。 |
| 1003 | 在函数调用时传递的参数数目或者超过了允许的最大数目,或者小于该函数必需的最小数目。 |
| 1005 | 传递给函数调用的参数应该是一个字符串变量,但实际上是另一个类型的变量。 |
| 1006 | 传递给函数调用的参数必须是一个输出参数,但实际上传递了一个文字串。 |
例
例 1:
@DTW_WORDS("Now is the time", result)
result = "4"
例 2:
@DTW_rWORDS(" ")