跳转至

string - 字符串操作函数

{bdg-success}已适配 {bdg-primary}Air780E {bdg-primary}Air780EP {bdg-primary}Air780EPS {bdg-primary}Air780EQ {bdg-primary}Air700EAQ {bdg-primary}Air700EMQ {bdg-primary}Air700ECQ {bdg-primary}Air201

本页文档由[这个文件](https://gitee.com/openLuat/LuatOS/tree/master/luat/../lua/src/lstrlib_exts.c)自动生成。如有错误,请提交issue或帮忙修改后pr,谢谢!
本库有专属demo,[点此链接查看string的demo例子](https://gitee.com/openLuat/LuatOS/tree/master/demo/string)

string.toHex(str, separator)

将字符串转成HEX

参数

传入值类型 解释
string 需要转换的字符串
string 分隔符, 默认为""

返回值

返回值类型 解释
string HEX字符串
number HEX字符串的长度

例子

string.toHex("\1\2\3") --> "010203" 6
string.toHex("123abc") --> "313233616263" 12
string.toHex("123abc", " ") --> "31 32 33 61 62 63 " 12

string.fromHex(hex)

将HEX转成字符串

参数

传入值类型 解释
string hex,16进制组成的串

返回值

返回值类型 解释
string 字符串

例子

string.fromHex("010203")       -->  "\1\2\3"
string.fromHex("313233616263") -->  "123abc"

string.split(str, delimiter, keepEmtry)

按照指定分隔符分割字符串

参数

传入值类型 解释
string 输入字符串
string 分隔符,可选,默认 ","
bool 是否保留空白片段,默认为false,不保留. 2023.4.11之后的固件可用

返回值

返回值类型 解释
table 分割后的字符串表

例子

local tmp = string.split("123,233333,122")
log.info("tmp", json.encode(tmp))
local tmp = ("123,456,789"):split(',') --> {'123','456','789'}
log.info("tmp", json.encode(tmp))

-- 保留空片段, 2023.4.11之后的固件可用
local str = "/tmp//def/1234/"
local tmp = str:split("/", true) 
log.info("str.split", #tmp, json.encode(tmp))

string.toValue(str)

返回字符串tonumber的转义字符串(用来支持超过31位整数的转换)

参数

传入值类型 解释
string 输入字符串

返回值

返回值类型 解释
string 转换后的二进制字符串
number 转换了多少个字符

例子

string.toValue("123456") --> "\1\2\3\4\5\6"  6
string.toValue("123abc") --> "\1\2\3\a\b\c"  6

string.urlEncode("123 abc")

将字符串进行url编码转换

参数

传入值类型 解释
string 需要转换的字符串
int mode:url编码的转换标准,

返回值

例子


string.toBase64(str)

将字符串进行base64编码

参数

传入值类型 解释
string 需要转换的字符串

返回值

返回值类型 解释
string 解码后的字符串,如果解码失败会返回空字符串

例子


string.fromBase64(str)

将字符串进行base64解码

参数

传入值类型 解释
string 需要转换的字符串

返回值

返回值类型 解释
string 解码后的字符串,如果解码失败会返回空字符串

例子


string.toBase32(str)

将字符串进行base32编码

参数

传入值类型 解释
string 需要转换的字符串

返回值

返回值类型 解释
string 解码后的字符串,如果解码失败会返回0长度字符串

例子


string.fromBase32(str)

将字符串进行base32解码

参数

传入值类型 解释
string 需要转换的字符串

返回值

返回值类型 解释
string 解码后的字符串,如果解码失败会返回0长度字符串

例子


string.startsWith(str, prefix)

判断字符串前缀

参数

传入值类型 解释
string 需要检查的字符串
string 前缀字符串

返回值

返回值类型 解释
bool 真为true, 假为false

例子

local str = "abc"
log.info("str", str:startsWith("a"))
log.info("str", str:startsWith("b"))

string.endsWith(str, suffix)

判断字符串后缀

参数

传入值类型 解释
string 需要检查的字符串
string 后缀字符串

返回值

返回值类型 解释
bool 真为true, 假为false

例子

local str = "abc"
log.info("str", str:endsWith("c"))
log.info("str", str:endsWith("b"))

string.trim(str, ltrim, rtrim)

裁剪字符串,去除头尾的空格

参数

传入值类型 解释
string 需要处理的字符串
bool 清理前缀,默认为true
bool 清理后缀,默认为true

返回值

返回值类型 解释
string 清理后的字符串

例子

local str = "\r\nabc\r\n"
log.info("str", string.trim(str)) -- 打印 "abc"
log.info("str", str:trim())       -- 打印 "abc"
log.info("str", #string.trim(str, false, true)) -- 仅裁剪后缀,所以长度是5