strLib.findStr

系统函数 strLib.findStr 在字符串中搜索子串的第一次出现。


strLib.findStr 语法图
result
数字项,它接收由函数返回的下列其中一个值(该值被定义为具有 INT 类型或具有以下等效类型:BIN 类型,长度为 9 并且不带小数位):
-1
找不到搜索字符串
0
找到搜索字符串
source
从中派生源子串的字符串。可以是项或文字。
sourceSubstringIndex
在假定 source 中的第一个字节具有下标值 1 的情况下,标识子串在 source 中的起始字节。此下标可以是被定义为具有 INT 类型或者具有以下等效类型的项:BIN 类型,长度为 9 并且不带小数位。
sourceStringLength
标识从 source 派生的子串中的字节数。此下标可以是被定义为具有 INT 类型或者具有以下等效类型的项:BIN 类型,长度为 9 并且不带小数位。
searchString
要在源子串中搜索的字符串项或文字。在开始搜索之前,截断搜索字符串中的结尾空格或空。

如果在源子串中找到 searchString,则设置 sourceSubstringIndex 以指示其位置(匹配子串在源子串中的起始字节)。否则,不更改 sourceSubstringIndex

定义注意事项

在 sysVar.errorCode 中返回下列值:
8
下标小于 1 或大于字符串长度。
12
长度小于 1。
20
双字节下标无效。DBCHAR 或 UNICODE 字符串的下标指向双字节字符的中间。
24
双字节长度无效。DBCHAR 或 UNICODE 字符串的以字节计的长度是奇数(双字节长度必须总是偶数)。

示例

  source = "123456";
  sourceIndex = 1
  sourceLength = 6
  search = "34";
  result = 
    strLib.findStr(source,sourceIndex,sourceLength,"34");
  // result = 0, sourceIndex = 3

相关参考
EGL 库 StrLib

使用条款 | 反馈
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.