Lua:在字符串中查找十六进制值

标签 lua find hex design-patterns non-printable

我正在尝试使用 Lua 在字符串中查找十六进制不可打印字符 00h。我用转义字符尝试了它,结果我得到了我开始的相同位置(这是一个可打印的字符)。我摆弄了字符类,但这没有任何意义。我的方法是这样的:

location = string.find(variable,"\00",startlocation)

我也试过这种方法,但是没有运气:

location = string.find(variable, string.char(00),startlocation)

如何在 Lua 中找到这种不可打印的模式?

最佳答案

它对我来说很好用:

> return string.find("one\0two\0,three","\0,")
8   9
> return string.find("one\0two\0,three","\0")
4   4
> return string.find("one\0two\0,three","\00")
4   4
> return string.find("one\0two\0,three","\00",6)
8   8

关于Lua:在字符串中查找十六进制值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9032170/

相关文章:

python - 如何获得转义字符的正确位置?

php - 如何在 PHP 中用 '*' 替换不在 [0x5E10, 0x7F35] 范围内的字符?

Python 字符串操作。第五位加一个角色

linux - 如何在 linux 中为 zerobrane studio 设置 LUA_PATH 和 LUA_CPATH

从 C 'globally' 更改 Lua 中的全局变量

arrays - 如何在 Lua 中对多维表进行排序?

c++ - 为自定义类重载 std::find

linux复制并粘贴两个最后增量文件名

c++ - std::cout 的十六进制 0x00

python - 搜索加载了 JS 的项目时,Scrapy 飞溅无法正常工作