Извлечение информации в строку - PullRequest
2 голосов
/ 26 января 2010

Я хотел бы проанализировать строки с произвольным числом параметров, таких как P1 + 05 или P2-01, все вместе, как P1 + 05P2-02. Я могу получить эти данные из строк с довольно большим (слишком большим, чтобы разместить вокруг ...) деревом IF и переменной, отслеживающей положение в строке. Достигнув ключевой буквы (например, P), он знает, сколько символов нужно прочитать, и поступает соответственно, ничего особенного. В этом примере, скажем, у меня в игре два игрока, и я хочу дать +05 и -01 здоровья игрокам 1 и 2 соответственно. (следовательно, + - я хочу, чтобы они были несколько читабельными).

Это работает, но я чувствую, что это можно сделать лучше. Я использую Lua для разбора строк, так что, может быть, в Lua есть какая-то встроенная функция для облегчения этого процесса? Или, может быть, какие-то общие советы или рекомендации для лучшего подхода?

1 Ответ

4 голосов
/ 26 января 2010

Вот код:

for w in string.gmatch("P1+05P2-02","%u[^%u]+") do
    print(w)
end

Предполагается, что каждое "слово" начинается с заглавной буквы, а его параметры не содержат заглавных букв.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...