我想将这四条红宝石线分成一行,将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('.')
感谢您的帮助。
答案 0 :(得分:1)
network = "10.10.102.123".sub(/\.\d{1,3}$/, '.0/24')
答案 1 :(得分:1)
或只是network = "10.10.102.123".sub(/\d+$/, '0/24')
答案 2 :(得分:0)
虽然我喜欢Cary的答案,但如果你只是用一个阵列挤压你的4行就可以用
来做"10.10.102.103".split('.')[0..-2].push('0/24').join('.')
答案 3 :(得分:0)
有时regexp可能很慢而只是搜索'。'更快
address = "10.10.102.123"
address[address.rindex('.')..-1] = '.0/24'
p address #=> "10.10.102.0/24"