我想把这四根红宝石线变成一根线来改变一个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('.')
谢谢你的帮助。
network = "10.10.102.123".sub(/\.\d{1,3}$/, '.0/24')
要不就network = "10.10.102.123".sub(/\d+$/, '0/24')
尽管我喜欢 Cary 的回答,但如果您只想压缩使用数组执行此操作的 4 行,您可以使用
"10.10.102.103".split('.')[0..-2].push('0/24').join('.')
有时正则表达式可能很慢,只是搜索“。” 是比较快的
address = "10.10.102.123"
address[address.rindex('.')..-1] = '.0/24'
p address #=> "10.10.102.0/24"