因為Lua字符串是允許含有0字符的,但是在C/C++里是不允許出現的,否則字符串將會被截斷出現非預期的結果。
這里使用正則表達式去除Lua字符串中的0字符:
--可能有終結符 s = ''; for name in string.gmatch(wndtext,"[^%z]") do s = s..name; end
%z表示0字符,^%z表示非零的字符,[]用來創建字符集,整個正則表達式的意思是匹配整個字符串中任何一個非零的字符,循環中再把這些非零字符拼接起來就是去除0字符后的字符串了。
因為Lua字符串是允許含有0字符的,但是在C/C++里是不允許出現的,否則字符串將會被截斷出現非預期的結果。
這里使用正則表達式去除Lua字符串中的0字符:
--可能有終結符 s = ''; for name in string.gmatch(wndtext,"[^%z]") do s = s..name; end
%z表示0字符,^%z表示非零的字符,[]用來創建字符集,整個正則表達式的意思是匹配整個字符串中任何一個非零的字符,循環中再把這些非零字符拼接起來就是去除0字符后的字符串了。
本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。