zhaoceshi 发表于 2020-12-7 14:42:52

【已解决】IP地址的C段划分

本帖最后由 zhaoceshi 于 2020-12-8 11:50 编辑

$ip = '10.12.5.9'


$ip3 = StringRegExp($ip, '(?<!\d)\d{1,3}\.\d{1,3}\.\d{1,3}(?=\.\d)', 1)

Switch $ip3
      Case '10.12.0' To '10.12.24'
                MsgBox(0, 0, "一楼IP")
      Case '10.13.0' To '10.13.24'
                MsgBox(0, 0, "二楼IP")
      Case '10.13.25' To '10.13.44'
                MsgBox(0, 0, "三楼IP")
      Case '10.13.45' To '10.13.94'
                MsgBox(0, 0, "四楼IP")
      Case Else
                MsgBox(0, 0, "没有匹配到楼层,C段IP是 " & $ip3)
EndSwitch这样执行的结果是都没有匹配的到?怎么样才能根据C段来划分不同的分组?



zhaoceshi 发表于 2020-12-7 15:02:32

根据群里的大神提示用用stringsplit解决了,不知道还有没有另外的解决方法

afan 发表于 2020-12-7 15:06:04

$ip = '10.12.5.90'

$aN = StringRegExp($ip, '\d+', 3)
If UBound($aN) <> 4 Then Exit
Switch StringFormat('%s%03d%03d', $aN, $aN, $aN)
        Case '10012000' To '10012024'
                MsgBox(0, $ip, '一楼IP')
        Case '10013000' To '10013024'
                MsgBox(0, $ip, '二楼IP')
        Case '10013025' To '10013044'
                MsgBox(0, $ip, '三楼IP')
        Case '10013045' To '10013094'
                MsgBox(0, $ip, '四楼IP')
        Case Else
                MsgBox(48, $ip, '没有匹配到楼层')
EndSwitch

zhaoceshi 发表于 2020-12-7 15:28:04

A大V5!!!!

zhaoceshi 发表于 2020-12-7 15:28:51

afan 发表于 2020-12-7 15:06


感谢A大{:1_206:}

zhaoceshi 发表于 2020-12-7 15:37:36

afan 发表于 2020-12-7 15:06


对了,A大,如果是10.125.169.99 这种的要怎么转换?我好像输入100125169这种就匹配不到

afan 发表于 2020-12-7 15:39:55

zhaoceshi 发表于 2020-12-7 15:37
对了,A大,如果是10.125.169.99 这种的要怎么转换?我好像输入100125169这种就匹配不到
每段不足3位左补零
10.125.169.99 > 10125169

zhaoceshi 发表于 2020-12-7 15:41:21

afan 发表于 2020-12-7 15:39
每段不足3位左补零
10.125.169.99 > 10125169

这次完全明白了,感谢。

afan 发表于 2020-12-7 15:42:58

zhaoceshi 发表于 2020-12-7 15:41
这次完全明白了,感谢。

表客气~ 一点就通极好
页: [1]
查看完整版本: 【已解决】IP地址的C段划分