简介

在专家模式下,经常要把通过串口/tcp/udp收到的数据作处理,提取自己需要的部分来使用.

string.match

用于从字符串中提取匹配特定模式的子字符串。它的基本语法如下:string.match(input_string, pattern)

  • input_string:要进行搜索的输入字符串。
  • pattern:模式字符串,用于定义要匹配的模式。
s= "123abc789"
result = string.match(s, "(%d+)%D*(%d+)")
print(result) -- 输出:123 789

实战例子,处理tcp收到的数据

--视频播放器进度条同步 时间同步 查询播放时间 进度
tcp=import "sys.tcp"
tcp.connect("192.168.20.11",7787);   --打开并连接tcp socket
tcp.send("curmediainfo");    --发送数据
ret=tcp.receive();       --接收数据
tcp.close();        --关闭socket
if(ret) then  --如果收到数据
  pcert = string.match(ret, "(%d+)%%")
  touch.send("进度条名称","",pcert);
end

string.sub

string.sub(目标字符串, 起始位置, 结束位置)

str = "Hello, World!"
part = string.sub(str, 6)
print(part)  -- 输出: o, World!