Как сопоставить образец в Lua - PullRequest
1 голос
/ 22 сентября 2019

Итак, скажем, у меня есть это в Lua:

myvara = "Box red"
myvarb = "Box red 36"

Как мне сформировать выражение, чтобы увидеть, одинаковы ли обе переменные, если число меняется каждый раз?т.е. я просто хочу проверить, являются ли обе переменные красными прямоугольниками, но число не имеет значения.

Я хочу использовать сопоставление с образцом, но я не знаю, как это сделать эффективно и в выражении.Я не хочу использовать string.find, это должно быть сопоставление с образцом.

Что мне нужно сделать, это:

if myvara == myvarb (ignoring box number) then... 

... с сопоставлением с образцом (не string.find или что-нибудь подобное).

О, и иногда может быть разное количество слов, и число может быть в другом месте.Вот почему мне нужно использовать сопоставление с образцом.

Спасибо.

1 Ответ

1 голос
/ 22 сентября 2019

Вы можете удалить все пробелы и числа из обеих строк перед их сравнением:

if (myvara:gsub("[%d ]","") == myvarb:gsub("[%d ]","")) then
  ....
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...