永发信息网

lua中文字符串的捕获。

答案:2  悬赏:40  手机版
解决时间 2021-03-14 21:03
  • 提问者网友:了了无期
  • 2021-03-14 01:32
"学号|【20140036】教室:425,请按照教室学号对号入座"

在lua中如何用string.gsub来进行捕获20140036,以及教室。自己试了试,不知道是自己的方法错了还是不支持中文。
求指点一下。不胜感激。复制粘贴请勿回答,一旦发现直接举报。
最佳答案
  • 五星知识达人网友:枭雄戏美人
  • 2021-03-14 03:02
local s = "学号|【20140036】教室:425,请按照教室学号对号入座"

_, _, id =s:find("【(%d+)】")
_, _, clsrm = s:find("教室:(%d+)")

print("学号:"..id.."\n".."教室:"..clsrm)

输出:
学号:20140036
教室:425

基本就是用patterns进行匹配,()内部分通过find的额外返回值输出
注意上述只是简单演示,即学号教室都是数字的情况……如果有字母的话,教室可能需要通过逗号的位置或者具体字符数量等进行定位
另外lua不存在是否支持中文的问题,请先确认你的运行环境能正确显示中文(比如在cmd下运行时确保cmd的codepage和lua文件的编码保持一致
全部回答
  • 1楼网友:你可爱的野爹
  • 2021-03-14 03:58
方法很多啊~
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯