Почему lua string.find возвращает неправильный номер - PullRequest
1 голос
/ 31 марта 2020
local num = string.find("i want this to work --", "--")
return num

Итак, этот фрагмент кода должен возвращать 21, но на самом деле он возвращает 1

Что я делаю не так?

1 Ответ

2 голосов
/ 31 марта 2020

- - это специальный символ в шаблонах Lua. Чтобы сделать буквальное совпадение, ваш второй аргумент string.find должен быть '%-%-'.

В качестве альтернативы, если вы не хотите иметь дело с семантикой шаблона, вы можете передать 4-й аргумент true string.find сказать, что второй аргумент следует принимать как буквенную строку, а не как шаблон:

string.find("i want this to work --", "--", 1, true)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...