点击或拖拽改变大小

Functions.SubS 方法

X#
从字符串中提取子字符串。

命名空间:  XSharp.RT
程序集:  XSharp.RT (在 XSharp.RT.dll 中) 版本:2.22 GA
语法
 FUNCTION SubS(
	cTarget,
	nStart,
	nCount
) AS STRING CLIPPER
查看代码

参数

cTarget (Optional)
类型:__Usual
要从中提取子字符串的字符串。
nStart (Optional)
类型:__Usual
cTarget 中的起始位置。
如果 wStart 为正,则相对于 cTarget 的最左侧字符。
如果 nStart 为负,则相对于 cTarget 的最右侧字符。
如果 nStart 为零,则返回 NULL_STRING。
nCount (Optional)
类型:__Usual
要提取的字符数。
如果省略,则子字符串从 nStart 开始,一直到字符串末尾。
如果 nCount 大于从 nStartcTarget 末尾的字符数,则多余的部分将被忽略。

返回值

类型:String
子字符串。
如果未找到子字符串,则返回 NULL_STRING。
备注
Substr() 与 Left() 和 Right() 函数相关,这些函数分别提取以 cTarget 中的最左侧和最右侧字符开始的子字符串。
Substr()、Right() 和 Left() 函数通常与 At() 和 RAt() 函数一起使用,以定位子字符串的第一个和/或最后一个位置,然后提取它。
他们也用于仅显示或打印字符串的一部分。
示例
这些示例从变量中提取名字和姓氏:
X#
1cName := "Biff Styvesent"
2? Substr(cName, 1, 4)                // Biff
3? Substr(cName, 6)                    // Styvesent
4? Substr(cName, SLen(cName) + 2)
5// Null string
6? Substr(cName, -9)                    // Styvesent
7? Substr(cName, -9, 3)                // Sty
此示例使用 Substr() 与 At() 和 RAt() 来创建一个函数,从文件规范中提取文件名:
X#
1? FileBase("c:\prg\myfile.obj")        // 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
参见