Посимвольно, любой язык:
local unicode = require("unicode")
local a = "World"
local t = {}
for i = 1, unicode.len(a) do
t[i] = unicode.sub(a, i, i)
end
Побайтово, english-only
local a = "World"
local t = {}
for i = 1, #a do
t[i] = a:sub(i, i)
end
Через разложение на таблицу байтов, english-only
local a = "World"
local t = {string.byte(a, 1, #a)}
for i = 1, #t do
t[i] = string.char(t[i])
end
По регулярке, english-only
local a = "World"
local t = {}
local index = 1
for char in a:gmatch(".") do
t[index] = char
index = index + 1
end
По регулярке иным путём, english-only
local a = "World"
local t = {}
local index = 1
a:gsub(".", function(char)
t[index] = char
index = index + 1
end)