string - 字符串操作函数#
已适配 Air780E Air780EP Air780EPS Air780EQ Air700EAQ Air700EMQ Air700ECQ Air201
备注
本页文档由这个文件自动生成。如有错误,请提交issue或帮忙修改后pr,谢谢!
小技巧
本库有专属demo,点此链接查看string的demo例子
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