Строка Луа.найти правильный формат?
У меня есть довольно простой вопрос, но мое исследование google не помогло.. Я довольно новичок в Луа, так что..
У меня есть строка "Xxxx_yyyyy_zzzzzz", хранящаяся в локальной переменной, и я хочу разобрать ее и получить 3 новых локальных переменных. Должен ли я использовать строку.найти?
local str_ = "XXXX_YYYYY_zzzzzz"
local first_, second_, third_ = strind.find(str_, "^(%w+)_(%w+)_(%w+)$")
1 ответ:
Вместо этого используйте
string.match
:local str_ = "XXXX_YYYYY_zzzzzz" local first_, second_, third_ = str_:match "^([^_]+)_([^_]+)_([^_]+)$"
Посмотрите на библиотеку строк на Lua-users wiki.
string.find
дополнительно возвращает индексы, в которых была найдена/найдена соответствующая подстрока. Эти два индекса (начальный и конечный) бесполезны в вашем случае, поэтомуstring.match
будет лучшим инструментом.