lua string库 字符串 用法详解

本文详述了 Lua 的 string 库,介绍了一系列用于处理字符串的函数,如 `len()`、`byte()`、`char()`、`lower()`、`upper()`、`rep()`、`reverse()`、`sub()`、`gsub()`、`find()`、`match()`、`gmatch()`,以及 `format()`。这些函数涵盖了字符串长度计算、编码转换、查找、替换、格式化等多个方面,帮助开发者高效地操作字符串。
摘要由CSDN通过智能技术生成

lua string库 字符串 用法详解

  • 注:string库中所有的函数都不会直接修改原字符串,只返回新结果
  • 加[,]的参数指缺省,即可有可无,

string.len (s)
接收一个字符串,返回其长度。 空串 “” 的长度为 0 。 内嵌零也统计在内

string.len("abc")          -- 返回:3
string.len("a\000bc\000")  -- 返回:5

以上只支持英文,utf8 中文字符长度 详情请见下一章”强大的匹配模式”

local _, count = string.gsub("中文utf8", "[^\128-\193]", "")  -- count = 6

或lua自带的utf8支持(5.3版本)
utf8.len (s [, i [, j]])
返回字符串 s 中 从位置 i 到 j 间 (包括两端) UTF-8 字符的个数。 默认的 i 为 1 ,默认的 j 为 -1 。 如果它找到任何不合法的字节序列, 返回假值加上第一个不合法字节的位置。

string.byte (s [, i [, j]])
返回字符 s[i], s[i+1], … ,s[j] 的内部数字编码。 i 的默认值是 1 ; j 的默认值是 i。 数字编码没有必要跨平台。

string.byte("abcABC", 1, 6)   -- 返回:97 98 99 65 66 67

string.char (···)
接收零或更多的整数。 返回和参数数量相同长度的字符串。 其中每个字符的内部编码值等于对应的参数值。

string.char(97, 98, 99)     -- 返回:abc

string.lower (s)
大写转小写

string.lower("ABc")         -- 返回:abc

string.upper (s)
小写转大写

string.upper("ABc")         -- 返回:ABC

string.rep (s, n [, sep])
返回 n 个字符串 s 以字符串 sep 为分割符连在一起的字符串。 默认的 sep 值为空字符串(即没有分割符)。 如果 n 不是正数则返回空串。

string.rep("wzz", 3, ",")   -- 返回:wzz,wzz,wzz

string.reverse (s)
返回字符串 s 的翻转串。

string.reverse("abc")      -- 返回:"cba"

string.sub (s, i [, j

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值