0

我想把这四根红宝石线变成一根线来改变一个IP到他的网络。如“10.10.102.123”=>“10.10.102.0/24”

我使用下面的方式,但我希望在一行中找到一种更干净的方式。

network = "10.10.102.123"
network = network.split('.')
network[3] = '0/24'
xx  = network.join('.')  

谢谢你的帮助。

4

4 回答 4

1
network = "10.10.102.123".sub(/\.\d{1,3}$/, '.0/24')
于 2013-10-23T01:48:00.180 回答
1

要不就network = "10.10.102.123".sub(/\d+$/, '0/24')

于 2013-10-23T02:21:15.543 回答
0

尽管我喜欢 Cary 的回答,但如果您只想压缩使用数组执行此操作的 4 行,您可以使用

"10.10.102.103".split('.')[0..-2].push('0/24').join('.')
于 2013-10-23T04:51:34.973 回答
0

有时正则表达式可能很慢,只是搜索“。” 是比较快的

address = "10.10.102.123"
address[address.rindex('.')..-1] = '.0/24'
p address #=> "10.10.102.0/24"
于 2013-10-23T10:55:29.597 回答