Lua 字符串 舍弃前五位 后两位
时间: 2023-08-29 11:04:53 浏览: 155
要舍弃字符串的前五位和后两位,你可以使用 `string.sub` 函数来获取字符串的子串。以下是示例代码:
```lua
local str = "Hello, Lua!"
local subStr = string.sub(str, 6, -3)
print(subStr) -- 输出 ", Lua"
```
在这个例子中,`string.sub` 函数的第一个参数是要截取的字符串,第二个参数是起始位置,第三个参数是终止位置(可选)。通过设置起始位置为 6,终止位置为 -3,你可以获得舍弃前五位和后两位后的子串 ", Lua"。
相关问题
Lua 字符串截取前五位
你可以使用 Lua 的字符串截取函数 `string.sub` 来截取前五位字符。以下是示例代码:
```lua
local str = "Hello, Lua!"
local subStr = string.sub(str, 1, 5)
print(subStr) -- 输出 "Hello"
```
在这个例子中,`string.sub` 函数的第一个参数是要截取的字符串,第二个参数是起始位置,第三个参数是终止位置(可选)。通过设置起始位置为 1,终止位置为 5,你可以获得前五位字符的子字符串。
lua5.1版本给lua字符串前增加四个字节长度的字符串长度
可以通过以下代码给Lua字符串前增加四个字节的长度:
```lua
function addHeader(str)
local len = string.len(str)
local header = string.char(bit.band(bit.rshift(len, 24), 0xFF), bit.band(bit.rshift(len, 16), 0xFF), bit.band(bit.rshift(len, 8), 0xFF), bit.band(len, 0xFF))
return header .. str
end
```
在这个函数中,首先通过`string.len()`函数获取字符串的长度,然后使用位运算符`bit.band()`和`bit.rshift()`将字符串长度转换为四个字节的整数,并将它们存储到一个长度为4的字符串中。最后,将该字符串和原始字符串拼接起来,即可得到带有长度头的字符串。
使用示例:
```lua
local str = "Hello, world!"
local headerStr = addHeader(str)
print(string.format("Length: %d, Header: %q, Content: %q", string.len(headerStr), string.sub(headerStr, 1, 4), string.sub(headerStr, 5)))
```
输出结果:
```
Length: 17, Header: "\0\0\0\17", Content: "Hello, world!"
```
阅读全文