# 字符串函数

这些函数对字符串进行操作。

注意:

- 索引参数是从零开始的。换句话说，字符串的第一个字符的索引为 0，第二个字符的索引为 1，依此类推。
- 比单元格宽度宽一个字符的文本字符串有时会被剪掉。增加列宽或向字符串添加空格字符将显示整个字符串。

- 字符串函数对 Unicode 字符的字符串进行操作。

函数 | 说明
Code (文本, [索引]) | 返回与指定索引处字符的 Unicode 代码点对应的整数值。如果未指定索引，则返回第一个字符的代码。如果字符串为空或索引超出字符串末尾，则返回零。前 127 个字符的 Unicode 代码点与 ASCII 相同，但此函数支持全范围的 Unicode。 Code 示例 如果单元格 A2 包含字母数字字符串“ABC123”，则函数 Code(A2) 将返回“A”的 ASCII 码 65.000。
Concatenate (Arg1, [Arg2, Arg3, ...]) | 返回多个字母数字文本字符串的串接。数字参数会自动转换为文本。 Concatenate 示例 如果单元格 A2 包含字母数字字符串“A1B1”，单元格 A3 包含字母数字字符串“C1D2”，单元格 A4 包含浮点数 4.556，则函数 Concatenate(A2,A3,A4) 将返回“A1B1C1D24.556”
Exact (Text1, Text2) | 如果 Text1 和 Text2 相同，则返回 1，否则返回 0。 注意:Exact 区分大小写。 Exact 示例 如果单元格 A2 包含字符串“ABC123”，单元格 A3 包含字符串“ABC1234”，则 Exact(A2,A3) 返回 0.000。 如果单元格 A2 包含字符串“VISION”，单元格 A3 包含字符串“VISION”，则 Exact(A2,A3) 将返回 1.000。
Find(FindText, SrcText, [StartChar]) | 返回字符串 SrcText 内包含的 FindText 字符串的索引位置。 注意:Find 区分大小写。 Find 示例 FindText 和 SrcText 可以是单元格引用或直接添加到函数参数的字符串。假设单元格 A2 包含字符串“123”，单元格 A3 包含字符串“ABC123”。Find(A2, A3) 或 Find("123", A3) 将返回“ABC 123”中“123”的索引位置 3.00。StartChar 是一个可选的（整数）参数，表示 SrcText 中的索引位置，查找在这里将开始搜索。 Find(A2,A3,2) 将从 SrcText 中的索引位置 2 开始并返回索引值 3.000。 如果未找到 FindText，则返回 -1.00。 Find("XYZ",A3) 将返回 -1.000
Stringf(Format-string, [文本或值, ...]) | 返回使用“C”库标准格式字符串构造的文本字符串。FormatString 支持大多数格式字符串参数。使用“字符串格式”对话框自动配置此函数。 注意:不建议手动编辑 FormatString 函数。
Left (文本, NumChars) | 返回文本字符串最左边的 NumChars 个字符。 Left 示例 如果单元格 A2 包含字母数字字符串“ABC123”，则函数 Left(A2,2) 返回字符串“AB”。
Len (文本) | 返回文本字符串的字符数。 Len 示例 如果单元格 A2 包含字母数字字符串“ABC123”，则函数 Len(A2) 将返回整数值 6.000。
Lower (文本) | 返回转换为小写的文本。 Lower 示例 如果单元格 A2 包含字母数字字符串“ABC123”，则函数 Lower(A2) 将返回字符串“abc123”。
Mid (文本, StartChar, NumChars) | 返回字母数字字符串中从索引的 StartChar 位置开始的文本，字符数由 NumChars 指定。 Mid 示例 如果单元格 A2 包含字母数字字符串“ABC123”，则函数 Mid(A2,2,2) 返回字符串“C1”。
Replace (SrcText, StartChar, NumChars, NewText) | 返回 SrcText，修改者为 NewText。Replace 会从索引位置 StartChar 开始删除 NumChars 个字符，并插入替换字符 NewText。 Replace 示例 如果单元格 A2 包含字母数字字符串“ABC123”，单元格 A3 包含字符串“123”，则 Replace(A2,0,3,A3) 将返回字符串“123123”。
Right (文本, NumChars) | 返回字符串文本字符串中最右边的指定数量 (NumChars) 的字符。 Right 示例 如果单元格 A2 包含字符串“ABC123”，则 Right(A2,2) 将返回字符串“23”。
Stringf (格式字符串, [文本或值, ...]) | 返回使用“C”库标准格式字符串构造的文本字符串。 提示:FormatString 函数支持大多数格式字符串参数；使用“字符串格式”对话框对话框可自动配置参数。 注意: 格式字符串必须使用双引号括住（例如："这是一个字符串"。） 格式字符串参数区分大小写。 使用 Stringf 函数时，反斜杠“\”用于指示后跟一个格式控制字符。如果反斜杠后面没有控制字符（“n”、“r”或“t”），则将插入反斜杠后的字符。要显示单个反斜杠，必须输入两个反斜杠。示例：Stringf("C:\\InSight2\\") = "C:\InSight2\") 不可打印/控制代码字符将显示为符号或“乱码”文本。 可用的格式字符串参数有：
%c | 返回对应于整数值的 Unicode 字符。 Stringf %c 示例 如果单元格 A2 包含整数值 65.000，则 Stringf("%c",A2) 返回字符“A”，即 ASCII 码 65 对应的字符。函数 Stringf("Value = %c",A2) 返回字符串“Value = A”。
%d | 返回一个包含整数值的字符串。 Stringf %d 示例 如果单元格 A2 包含浮点值 123.456，则 Stringf("%d",A2) 返回数字字符串“123”。函数 Stringf("值 = %d",A2) 将返回字母数字字符串“值 = 123”。
%e | 返回包含科学符号值的字符串。小数位数可以通过在 % 和 e 参数之间插入一个小数点 (.) 和一个数字来指定。 Stringf %e 示例 如果单元格 A2 包含浮点值 123.456，则 Stringf("%e",A2) 返回数字字符串“1.234560e+02”。函数 Stringf("%.1e",A2) 将返回数字字符串“1.2e+02”，因为小数点后只指定了一位数。
%f | 返回包含浮点值的字符串。小数位数可以通过在 % 和 f 参数之间插入一个小数点 (.) 和一个数字来指定。 Stringf %f 示例 如果单元格 A2 包含浮点值 123.456，则 Stringf("%f",A2) 将返回数字字符串“123.456001”。函数 Stringf("%.1f",A2) 将返回数字字符串“123.5”，因为小数点后只指定了一位数。
%o | 返回包含整数的八进制值的字符串。 Stringf %o 示例 如果单元格 A2 包含整数值 123.000，则 Stringf("%o",A2) 将返回数字字符串“173”，即整数 123 的八进制值。
%s | 返回一个附加了字母数字字符的字符串。 Stringf %s 示例 如果单元格 A2 包含字符串“ABC”，则 Stringf("%s123",A2) 将返回字母数字字符串“ABC123”。如果单元格 A2 包含数字字符串“123”，则 Stringf("%s.450",A2) 将返回数字字符串“123.450”。
%u | 返回一个包含无符号整数值的字符串。 Stringf %u 示例 如果单元格 A2 包含浮点值 123.456，则 Stringf("%u",A2) 将返回数字字符串“123”。函数 Stringf("值 = %u",A2) 返回字母数字字符串“值 = 123”。
%x 或 %X | 返回包含整数值的十六进制值的字符串。 Stringf %x 示例 如果单元格 A2 包含整数值 123.000，则 Stringf("%x",A2) 将返回字符串“7b”，即整数 123 的十六进制值。
%% | 返回包含单个百分比字符 (%) 的字符串。
以下格式字符串参数主要用于文本格式编排（例如，在函数 WriteSMTP 中对电子邮件消息的文本进行格式编排）：
\r | 在文本中插入回车。该参数通常与 \n（换行符）一起使用。
\n | 在文本中插入一个新行。该参数通常与 \r（回车）结合使用。
\\ | 在文本中插入反斜杠“\”。
\t | 在文本中插入制表符。
\v | 在文本中插入垂直制表符。
\f | 在文本中插入 ASCII Formfeed。
\x## | 将十六进制数字 ## 指定的 ASCII 或 Unicode 字符插入到文本中。 Stringf \x## 示例 如果单元格 A2 包含 Stringf("\x02123\x1bABC\x03456")，则该单元格将显示： ("<STX>123<ESC>ABC<ETX>456")。
\u#### | 将 16 位十六进制数字 #### 指定的 ASCII 或 Unicode 字符插入到文本中。
Strtol (IntegerText) | 将字母数字字符串开始处的数字字符（十进制、十六进制和八进制）转换为整数。十六进制字符必须以“0x”开头；八进制字符必须以“0”开头。 Strtol 示例 十进制：如果单元格 A2 包含文本字符串“123ABC”，则函数 Strtol(A2) 将返回整数值 123.000。 十六进制：如果单元格 A2 包含文本字符串“0x123”，则 Strtol(A2) 将返回整数值 291.000。 "0x12AB" = 4,779.000，因为“A”和“B”是十六进制字符。 "0x12GB" = 18.000，因为“G”不是十六进制字符。 八进制：如果单元格 A2 包含文本字符串“0123ABC”，则 Strtol(A2) 将返回整数值 83.000。
Substitute (SrcText, OldText, NewText, [实例]) | 返回通过 NewText 替换 SrcText 内的每次出现的 OldText 构建的文本字符串。如果指定可选的 Instance 索引，则将仅替换该文本实例。 Substitute 示例 如果单元格 A2 包含文本字符串“ABC123123”，单元格 A3 包含字符串“123”，单元格 A4 包含字符串“abc”，则 Substitute(A2,A3,A4,1) 会替换SrcText 中的“123”的第二个实例，并返回字符串“ABC123abc”。
Token (文本, 分隔符, 实例) | 返回位于分隔字符串指定 Instance 索引（出现）处的文本。在该函数参数中，分隔符必须括在引号 (" ") 中。 Token 示例 如果单元格 A2 包含逗号分隔的字符串“A,B,C,1,2,3”，则 Token(A2,",",2) 将返回“C”，因为 C 在文本中的索引 2 处。
Trim (文本) | 返回去掉前导和尾随空格的文本，仅在单词之间留一个空格（如果有）。还会删除所有控制字符（回车、换行等）。 Trim 示例 如果单元格 A2 包含字符串“ ABC 123 ”，则 Trim(A2) 将返回字符串“ABC 123”。
Upper (文本) | 返回转换为大写的文本。 Upper 示例 如果单元格 A2 包含字母数字字符串“abc123”，则函数 Upper(A2) 将返回字符串“ABC123”。
Value (NumericText) | 返回 NumericText 的浮点值。忽略随后的非数字字符。 Value 示例 如果单元格 A2 包含数字字符串“123.4”，则函数 Value(A2) 将返回浮点值 123.400。