bob558 28 Опубликовано: 31 декабря, 2015 Вот такой пример программы: s = "privet" a = string.len(s) for l=1, a do m = string.byte(s,l) print (m) end На выходе получим 112, 114, 105, 118, 101, 116 Но если текст будет русским, то на каждый символ будет по два трехзначных числа. А это уже не очень удобно. Читал, что можно как-то разделить с помощью string.gmatch(s, "%w+"), но как это сделать я не понял. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
swg2you 403 Опубликовано: 31 декабря, 2015 Вот такой пример программы: s = "privet" a = string.len(s) for l=1, a do m = string.byte(s,l) print (m) end На выходе получим 112, 114, 105, 118, 101, 116 Но если текст будет русским, то на каждый символ будет по два трехзначных числа. А это уже не очень удобно. Читал, что можно как-то разделить с помощью string.gmatch(s, "%w+"), но как это сделать я не понял. ... s = 'С Новым Годом" for i = 1, unicode.len(s) do print( unicode.sub(s, i, i) ) end ... http://ocdoc.cil.li/api:unicode http://www.lua.org/manual/5.2/manual.html#6.4 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Fingercomp 4 409 Опубликовано: 1 января, 2016 s = "С новым Кодом" for letter in unicode.gmatch(s, "%w") do print(letter) end (написал только проснувшись; код не работает) 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
swg2you 403 Опубликовано: 1 января, 2016 s = "С новым Кодом" for letter in unicode.gmatch(s, "%w") do print(letter) end В unicode есть gmatch? о_О Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Fingercomp 4 409 Опубликовано: 1 января, 2016 В unicode есть gmatch? о_О Нету, конечно же, зато был сонный я. А string.match не работает с русским. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
vx13 2 271 Опубликовано: 1 января, 2016 Для Lua 5.3 local s = "привет" for _, code in utf8.codes(s) do print(code) end Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Вот такой пример программы:
На выходе получим 112, 114, 105, 118, 101, 116
Но если текст будет русским, то на каждый символ будет по два трехзначных числа. А это уже не очень удобно.
Читал, что можно как-то разделить с помощью string.gmatch(s, "%w+"), но как это сделать я не понял.
Поделиться сообщением
Ссылка на сообщение
Поделиться на других сайтах