因为Lua字符串是允许含有0字符的,但是在C/C++里是不允许出现的,否则字符串将会被截断出现非预期的结果。
这里使用正则表达式去除Lua字符串中的0字符:
--可能有终结符
s = '';
for name in string.gmatch(wndtext,"[^%z]") do
s = s..name;
end
%z表示0字符,^%z表示非零的字符,[]用来创建字符集,整个正则表达式的意思是匹配整个字符串中任何一个非零的字符,循环中再把这些非零字符拼接起来就是去除0字符后的字符串了。
原文链接: https://www.cnblogs.com/daxingxing/archive/2012/06/13/2548093.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/52626
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!