การแยกสตริงโดยไม่มีตัวคั่นใน Lua

ฉันได้เขียนโปรแกรมที่ถอดรหัสรหัสวันที่ให้กับผู้ผลิตคอมพิวเตอร์เครื่องเก่า รหัสวันที่ประกอบด้วยตัวเลขห้าหลัก เช่น 09705 ตัวเลขสองตัวแรก (09) คือเดือน ตัวเลขกลาง (7) คือปี และตัวเลขสองหลักสุดท้าย (05) คือวัน ฉันหาเดือน วัน และปีมาหมดแล้ว สิ่งที่ฉันถามคือฉันจะแบ่งรหัสห้าหลักนี้ออกเป็น 3 ส่วนที่เกี่ยวข้องได้อย่างไรเมื่อป้อนโดยรวมแล้ว เช่น ถ้าผู้ใช้ใส่ "09705" ลงในโปรแกรม ผมอยากจะเอาอันนี้มาแบ่งเป็น 3 ตัวแปรเพื่อให้สามารถถอดรหัสได้ ฉันต้องการให้ผู้ใช้สามารถป้อนเพียงตัวเลข 5 หลักโดยไม่มีสิ่งใดอยู่ระหว่าง 3 ส่วน ฉันจะบรรลุสิ่งนี้ใน Lua โดยไม่ต้องใช้ตัวคั่นได้อย่างไร ขณะนี้ผู้ใช้ป้อนสามส่วนแยกกัน ซึ่งไม่เหมาะ


person Sega dude    schedule 28.07.2014    source แหล่งที่มา


คำตอบ (1)


รหัส:

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

ผลลัพธ์:

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