当前位置: 首页 > article >正文

lua判断子串,字符串替换,字符串分割

故事背景,需要在聊天做一个gm命名,如果输入的字符串带有'@',则根据后面的参数调用函数。匹配函数的时候需要去掉"@"。字符串还需要切割成函数名和参数。
 

function string.split(input, delimiter)
    input = tostring(input)
    delimiter = tostring(delimiter)
    if (delimiter=='') then return false end
    local pos,arr = 0, {}
    -- for each divider found
    for st,sp in function() return string.find(input, delimiter, pos, true) end do
        table.insert(arr, string.sub(input, pos, st - 1))
        pos = sp + 1
    end
    table.insert(arr, string.sub(input, pos))
    return arr
end


local content = "@additem 1 1"
if content:find("@") then
	print("gm")
end
local content = string.gsub(content, "@", '')
print(content)


local t = string.split(content," ")
for k,v in pairs(t)do
	print(v)
end


http://www.kler.cn/a/393833.html

相关文章:

  • 向日葵软件Windows系统连接苹果系统(MacOS)的无反应问题解决办法
  • PostgreSQL分区表:基础语法与运维实践
  • Window下PHP安装最新sg11(php5.3-php8.3)
  • 密码学的基本原理
  • 结构体是否包含特定类型的成员变量
  • 利用阿里云下载 WebRTC 源码
  • 【go从零单排】上下文(context)
  • Linux:测试指令test
  • Kafka可视化kafka-eagle的安装使用
  • 【划分型DP-约束划分个数】【hard】力扣410. 分割数组的最大值
  • cmake报错The link interface of target “gRPC::grpc“ contains: OpenSSL::SSL 解决
  • 西门子PLC更新DB块时不初始化变量
  • RSTP技术
  • Javascript如何获取指定网页中的内容?
  • 从无音响Windows 端到 有音响macOS 端实时音频传输播放
  • JavaScript判断数组的方式有哪些
  • 数字孪生技术在城市规划中的应用
  • SystemVerilog学习笔记(五):运算符
  • 第二十周机器学习笔记:初步认识PINN
  • Ajax 与 Vue 框架应用点——随笔谈
  • Github 2024-11-09Rust开源项目日报 Top10
  • pgsql和mysql的自增主键差异
  • neo4j desktop基本入门
  • RTPS网卡白名单的一个BUG
  • Mybatis经典面试题汇总
  • Altium Designer使用技巧(五)