Вы можете использовать string.gsub
, так как он возвращает количество выполненных замен в качестве второго результата:
local _, replacements = string.gsub(text, "\n", "\n")
Обновление (22.04.19): Если вам нужно добавить номер строки вкаждой строке (первоначальный вопрос был о подсчете строк), тогда вы все равно можете использовать string.gsub
, но вам нужно будет предоставить функцию, которая будет подсчитывать строки, например:
lines = 1
local text = "1 |"..string.gsub(text, "\n", function(s) lines = lines + 1 return s..lines.." |" end)
print(text)
print(lines)
Для вашеготекст, это будет печатать:
1 |while true do
2 |sleep(0)
3 |write("Example")
4 |write("Script\n\n")
5 |end
5