Laine_prikol 48 Опубликовано: 8 февраля, 2017 Как вытащить из переменной количество букв которые мне нужны например: text = "teext" t = количество букв t в переменной text e = количество букв e в переменной text Ну и так далее... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zer0Galaxy 2 187 Опубликовано: 8 февраля, 2017 str = 'tyUyyyUUaaattrrUUuu' symbols = {} for l in str:gmatch('%w') do symbols[l] = (symbols[l] or 0) + 1 end for l,n in pairs(symbols) do print(l.." = "..n) end 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
qwertyMAN 1 722 Опубликовано: 8 февраля, 2017 (изменено) Просто вбиваешь в гугле "lua string" и первый сайт который он тебе предлагает мне часто помогал, вот http://lua-users.org/wiki/StringLibraryTutorial Там расписаны функции стандартной библиотеки string, для работы с текстом. И там есть то, что тебе нужно. Но постарайся хоть это сделать сам. Там даже примеры работы функций есть. Как я понял тебе нужно узнать количество букв в фразе, пройти по ним брутом (в цикле) и записать в таблицу сколько какая буква использовалась. Всё это реализуемо. На ряду с библиотекой string, мне часто бывает полезна библиотека math. Просто имей ввиду, что в этой библиотеки есть все полезные математические функции. Гугл отлично выдаёт документацию по этим библиотекам. Изменено 8 февраля, 2017 пользователем qwertyMAN Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat 2 154 Опубликовано: 8 февраля, 2017 Как я понял тебе нужно узнать количество букв в фразе, пройти по ним брутом (в цикле) и записать в таблицу сколько какая буква использовалась.Годное решение для низкоуровневых языков, но в Lua все вызовы обходятся дорого, как бы быстро они не выполнялись. Поэтому в данном случае более предпочтительным будет использовать string.find от позиции последнего вхождения. Такое решение позволит уменьшить количество необходимых итераций с общего количества букв в строке до количества искомых букв и плюс еще одной итерации. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Alex 4 683 Опубликовано: 8 февраля, 2017 Как вытащить из переменной количество букв которые мне нужны например: text = "teext" t = количество букв t в переменной text e = количество букв e в переменной text Ну и так далее... str = 'tyUyyyUUaaattrrUUuu' count = 0 for l in str:gmatch('U') do count = count + 1 end print(count) --------------------------- --> 5 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat 2 154 Опубликовано: 8 февраля, 2017 str = 'tyUyyyUUaaattrrUUuu' count = 0 for l in str:gmatch('U') do count = count + 1 end gmatch хорош, но этот код завершится ошибкой при попытке найти символ, имеющий для gmatch специальное значение. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Alex 4 683 Опубликовано: 8 февраля, 2017 но этот код завершится ошибкой при попытке найти символ, имеющий для gmatch специальное значение согласен. Вариант, дополненный Zer0 - безопасный, где поиск по шаблону аккуратно ведется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Как вытащить из переменной количество букв которые мне нужны например:
Ну и так далее...
Поделиться сообщением
Ссылка на сообщение
Поделиться на других сайтах