Functions.SubS 方法 | |
从字符串中提取子字符串。
命名空间:
XSharp.RT
程序集:
XSharp.RT (在 XSharp.RT.dll 中) 版本:2.22 GA
语法 FUNCTION SubS(
cTarget,
nStart,
nCount
) AS STRING CLIPPER
[ClipperCallingConventionAttribute(new string[] { ... })]
public static string SubS(
__Usual cTarget = default,
__Usual nStart = default,
__Usual nCount = default
)
查看代码参数
- cTarget (Optional)
- 类型:__Usual
要从中提取子字符串的字符串。 - nStart (Optional)
- 类型:__Usual
在 cTarget 中的起始位置。
如果 wStart 为正,则相对于 cTarget 的最左侧字符。
如果 nStart 为负,则相对于 cTarget 的最右侧字符。
如果 nStart 为零,则返回 NULL_STRING。
- nCount (Optional)
- 类型:__Usual
要提取的字符数。
如果省略,则子字符串从 nStart 开始,一直到字符串末尾。
如果 nCount 大于从 nStart 到 cTarget 末尾的字符数,则多余的部分将被忽略。
返回值
类型:
String
子字符串。
如果未找到子字符串,则返回 NULL_STRING。
备注
Substr() 与 Left() 和 Right() 函数相关,这些函数分别提取以 cTarget 中的最左侧和最右侧字符开始的子字符串。
Substr()、Right() 和 Left() 函数通常与 At() 和 RAt() 函数一起使用,以定位子字符串的第一个和/或最后一个位置,然后提取它。
他们也用于仅显示或打印字符串的一部分。
示例
这些示例从变量中提取名字和姓氏:
1cName := "Biff Styvesent"
2? Substr(cName, 1, 4)
3? Substr(cName, 6)
4? Substr(cName, SLen(cName) + 2)
5
6? Substr(cName, -9)
7? Substr(cName, -9, 3)
此示例使用 Substr() 与 At() 和 RAt() 来创建一个函数,从文件规范中提取文件名:
1? FileBase("c:\prg\myfile.obj")
2FUNCTION FileBase(cFile)
3 LOCAL nPos AS DWORD
4 IF (nPos := RAt("\", cFile)) != 0
5 cFile := Substr(cFile, nPos + 1)
6 ELSEIF (nPos := At(":", cFile)) != 0
7 cFile := Substr(cFile, nPos + 1)
8 ENDIF
9 RETURN cFile
参见