函数说明
strsub(s, i [, j])
函数用于从字符串 s
中提取一个子字符串,起始位置为 i
,结束位置为 j
。参数 i
和 j
都可以为负数。如果 j
没有给定,则默认值为 -1
,表示提取到字符串的末尾。
特别地,调用 strsub(s, 1, j)
会返回从开头到长度为 j 的子字符串,调用 strsub(s, -i)
则会返回从末尾向前长度为 i 的子字符串。
参数解释
- s:要提取子字符串的目标字符串。
- i:截取的起始位置。
- 可以是正数,表示从字符串开头向右数的位置。
- 也可以是负数,表示从字符串末尾向左数的位置。
- j(可选):截取的结束位置。
- 可以是正数或负数。
- 如果未提供,默认值为
-1
,表示字符串的最后一个字符。
注意事项
- 当
i
或 j
为负数时,它们表示从字符串的末尾开始计算,例如 -1
表示最后一个字符,-2
表示倒数第二个字符,以此类推。
- 如果
i
超出字符串的范围,strsub
会返回一个空字符串。
- 如果
j
超出字符串的范围,则 j
会被认为是字符串的末尾。
- 索引从1开始:Lua 与大多数编程语言不同,字符串索引是从 1 开始的,而不是从 0 开始的。
基础用法使用示例
一.基本用法
s = "Hello, Lua!"
result = strsub(s, 1, 5)
print(result)
-- 输出:Hello
这里,strsub(s, 1, 5)
返回从第1个字符到第5个字符的子字符串,即 "Hello"。
二.使用负数索引
s = "Hello, Lua!"
result = strsub(s, -4, -2)
print(result)
-- 输出:Lua
这里,strsub(s, -4, -2)
返回从倒数第4个字符到倒数第2个字符的子字符串,即 "Lua"。
三.省略 j 参数
s = "Hello, Lua!"
result = strsub(s, 8)
print(result)
-- 输出:Lua!
这里,strsub(s, 8)
表示从第8个字符开始截取,直到字符串末尾,因此返回 "Lua!"。
四.截取字符串的后缀
s = "Hello, Lua!"
result = strsub(s, -3)
print(result)
-- 输出:a!
这里,strsub(s, -3)
返回从倒数第3个字符开始到字符串末尾的子字符串,即 "a!"。
高级用法与特性示例
一.处理超出索引范围的情况:
剩余 44% 内容需要支付 10.00
金币 后可完整阅读
支持付费阅读,激励作者创作更好的作品。