找回密码
 register

QQ登录

只需一步,快速开始

[*LUA4*] [Lua基础]字符串截取函数 strsub 使用方法详细教程

[复制链接]

[*LUA4*] [Lua基础]字符串截取函数 strsub 使用方法详细教程

[复制链接]
Waylee

主题

0

回帖

7459

积分

仙帝

积分
7459
Waylee 2021-7-13 23:23 | 显示全部楼层 |阅读模式

马上注册,查看网站隐藏内容!!

您需要 登录 才可以下载或查看,没有账号?register

×

函数说明

strsub(s, i [, j]) 函数用于从字符串 s 中提取一个子字符串,起始位置为 i,结束位置为 j。参数 ij 都可以为负数。如果 j 没有给定,则默认值为 -1,表示提取到字符串的末尾。
特别地,调用 strsub(s, 1, j) 会返回从开头到长度为 j 的子字符串,调用 strsub(s, -i) 则会返回从末尾向前长度为 i 的子字符串。

参数解释

  1. s:要提取子字符串的目标字符串。
  2. i:截取的起始位置。
    • 可以是正数,表示从字符串开头向右数的位置。
    • 也可以是负数,表示从字符串末尾向左数的位置。
  3. j(可选):截取的结束位置。
    • 可以是正数或负数。
    • 如果未提供,默认值为 -1,表示字符串的最后一个字符。

注意事项

  • ij 为负数时,它们表示从字符串的末尾开始计算,例如 -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 金币 后可完整阅读
支持付费阅读,激励作者创作更好的作品。

雪舞知识库 | 浙ICP备15015590号-1 | 萌ICP备20232229号|浙公网安备33048102000118号 |网站地图|天天打卡

GMT+8, 2024-11-22 02:02 , Processed in 0.044030 second(s), 6 queries , Redis On.

Powered by XueWu Licensed

Copyright © Tencent Cloud.

快速回复 返回顶部 返回列表