Memisahkan string tanpa pemisah di Lua

Saya telah menulis sebuah program yang menerjemahkan kode tanggal untuk pabrikan komputer lama. Kode tanggal terdiri dari lima angka, misalnya 09705. Dua angka pertama (09) adalah bulan, angka tengah (7) adalah tahun, dan dua angka terakhir (05) adalah hari. Saya sudah mengetahui bulan, hari, dan tahunnya. Yang saya tanyakan adalah bagaimana cara membagi kode lima digit ini menjadi 3 bagian yang sesuai ketika dimasukkan secara keseluruhan? Misalnya jika pengguna memasukkan "09705" ke dalam program, saya ingin mengambil ini dan membaginya menjadi 3 variabel sehingga dapat didekodekan. Saya ingin pengguna dapat memasukkan 5 digit saja, tanpa ada apa pun di antara 3 bagian tersebut. Bagaimana saya mencapai ini di Lua, tanpa menggunakan pemisah? Saat ini pengguna memasukkan tiga bagian secara terpisah, yang tidak ideal.


person Sega dude    schedule 28.07.2014    source sumber


Jawaban (1)


Kode:

local input = "09705"
local month, year, day = input:match("(%d%d)(%d)(%d%d)")
print("month: "..month)
print("year: "..year)
print("day: "..day)

Keluaran:

month: 09
year: 7
day: 05
person Etan Reisner    schedule 28.07.2014