local MacFormat ={[1] = "0A:BC:DE:FA:BC:DE",[2] = "00:BC:DE:FA:BC:DE",[3] = "00:0C:DE:FA:BC:DE",[4] = "00:00:DE:FA:BC:DE",[5] = "00:00:0E:FA:BC:DE"} local idNumbers = {[1] = "1",[2]="12",[3]="123",[4]="1234",[5]="12345"} local p = "^" .. ("0"):rep(string.len(idNumbers[3])):gsub("(..)", "%1:") local repl = idNumbers[3]:gsub("(..)", "%1:") local str = MacFormat[3]:gsub(p, repl) print(str) ---output 33:3C:DE:FA:BC:DE --- Desired Output 12:3C:DE:FA:BC:DE