Страница 2 из 2
Re: Вырвать часть значения строки
Добавлено: 16 сен 2023, 20:48
gregy
Скажите пожалуйста а как можно получить значение между двумя знаками. В частности нужно получить последний октет ip адреса.
192.168.1.1/24 или может быть 192.168.1.121/24. как получить то что находится между последней "." и "/" ?

Re: Вырвать часть значения строки
Добавлено: 18 сен 2023, 11:12
Sertik
:local ip 192.168.45.23
:local lastoctet ([:tonum $ip] & 255)
:put $lastoctet
Re: Вырвать часть значения строки
Добавлено: 18 сен 2023, 11:16
Sertik
Универсальный вариант Rextended: (
viewtopic.php?f=9&t=85205&p=880374#p880374) собирает в массив все октеты параметра функции $1
Код: Выделить всё
:local ip2array do={
:local ip [:toip $1]
:local array [:toarray ""]
:if ([:typeof $ip] != "ip") do={:return $array}
:set ($array->0) $ip
:set ip [:tonum $ip]
:set ($array->1) (($ip >> 24) & 255)
:set ($array->2) (($ip >> 16) & 255)
:set ($array->3) (($ip >> 8) & 255)
:set ($array->4) ( $ip & 255)
:return $array
}
# example for print 2nd octet (49) from 85.49.74.128
# example code