Я пытаюсь сформулировать строку для хобби-проекта, и я самоучка из отрывков кода с этого сайта и с трудом решает эту проблему.Я надеюсь, что вы, ребята, можете помочь.
У меня есть большая строка, содержащая много строк, и каждая строка имеет определенный формат.
Я могу получить каждую строку в строке, используя этот код ...
for line in string.gmatch(deckData,'[^\r\n]+') do
print(line) end
Каждая строка выглядит примерно так ...
3x Ривенделл Менестрель (Охота за Голлумом)
Что я пытаюсьдля этой строки нужно создать таблицу, которая выглядит примерно так:
table = {}
table['The Hunt for Gollum'].card = 'Rivendell Minstrel'
table['The Hunt for Gollum'].count = 3
Поэтому я подумал о том, чтобы извлечь все из скобок, а затем извлечь числовое значение.Затем удалите первые 4 символа в строке, так как это всегда будет «1x», «2x» или «3x»
Я пробовал кучу вещей .. как это ...
word=str:match("%((%a+)%)")
но с ошибками, если есть пробелы ...
мой тестовый код выглядит следующим образом ...
line = '3x Rivendell Minstrel (The Hunt for Gollum)'
num = line:gsub('%D+', '')
print(num) -- Prints "3"
card2Fetch = string.sub(line, 5)
print(card2Fetch) -- Prints "Rivendell Minstrel (The Hunt for Gollum)"
key = string.gsub(card2Fetch, "%s+", "") -- Remove all Spaces
key=key:match("%((%a+)%)") -- Fetch between ()s
print(key) -- Prints "TheHuntforGollum"
Любые идеи, как получить "TheОхота на Голлума "текст оттуда, включая пробелы?