lua中文字符串的捕获。
"学号|【20140036】教室:425,请按照教室学号对号入座"在lua中如何用string.gsub来进行捕获20140036,以及教室。自己试了试,不知道是自己的方...
"学号|【20140036】教室:425,请按照教室学号对号入座"
在lua中如何用string.gsub来进行捕获20140036,以及教室。自己试了试,不知道是自己的方法错了还是不支持中文。
求指点一下。不胜感激。复制粘贴请勿回答,一旦发现直接举报。 展开
在lua中如何用string.gsub来进行捕获20140036,以及教室。自己试了试,不知道是自己的方法错了还是不支持中文。
求指点一下。不胜感激。复制粘贴请勿回答,一旦发现直接举报。 展开
1个回答
展开全部
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文件的编码保持一致
_, _, id =s:find("【(%d+)】")
_, _, clsrm = s:find("教室:(%d+)")
print("学号:"..id.."\n".."教室:"..clsrm)
输出:
学号:20140036
教室:425
基本就是用patterns进行匹配,()内部分通过find的额外返回值输出
注意上述只是简单演示,即学号教室都是数字的情况……如果有字母的话,教室可能需要通过逗号的位置或者具体字符数量等进行定位
另外lua不存在是否支持中文的问题,请先确认你的运行环境能正确显示中文(比如在cmd下运行时确保cmd的codepage和lua文件的编码保持一致
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询