Я пытаюсь изменить IP-адрес строку, которая имеет номер порта в нем так, чтобы отсортировать таблицу, пример IP строки:Сортировка IPv4 адрес с номером порта
IP = "120.88.66.99:075"
я могу удалить .
' s и :
с:
IP = string.gsub(IP,'%W',"")
и это дает мне 120886699075
, но я хотел бы изменить только :
к .
так что это дает мне 120886699.075
Edit:.
На самом деле то, что я хотел не работает, так как не принять во внимание количество цифр между так что я woulds нравится способ сортировки внутрибрюшинно в данном формате, таблица, содержащую исходную строку ip, может быть отсортирована.
Edit 2:
я это почти работает с этим:
function IPToDec(IPs)
local t = {}
local f = "(.-)%."
local l = 1;
local s, e, c = IPs:find(f,1)
while s do
if s ~= 1 or c ~= "" then
table.insert(t,c)
end
l = e+1;
s, e, c = IPs:find(f,l)
end
if l <= #IPs then
c = IPs:sub(l)
table.insert(t,c)
end
if(#t == 4) then
return 16777216*t[1] + 65536*t[2] + 256*t[3] + t[4]
else
return -1
end
end
IP = "120.88.66.99:075"
IP = IPToDec(IP:gsub('%:+'..'%w+',""))
но у меня потерять порт, чтобы получить его, чтобы разобраться правильно, в идеале я хотел бы включить порт число в сортировке, потому что возможно, что ip-адреса поступают из одного источника, но с разных компьютеров.
Зачем вам нужно, чтобы отсортировать таблицу? Таблицы Lua могут быть проиндексированы непосредственно с чем угодно. Возможно, вы можете задать отдельный вопрос. – lhf
Ну, у меня есть таблица ip-строк, которая заполняет элемент управления listview, поэтому я хочу отсортировать таблицу по возрастанию и убыванию, чтобы затем отсортировать элемент управления listview. –
Пожалуйста, задайте отдельный вопрос. – lhf