说我有IP地址10.0.0.47
如何巧妙地操纵它以便我留下10.0.0.
?
chop
浮现在脑海中,但它不够动态。无论上一个.
之后的数字是由1位还是3位数组成,我希望它能够正常工作。
答案 0 :(得分:4)
将String#rindex
和String#[]
与范围:
ip = "10.0.0.47"
ip[0..ip.rindex('.')] # from the first character to the last dot.
# => "10.0.0."
或使用正则表达式:
ip[/.*\./] # greedy match until the last dot
# => "10.0.0."
或使用String#rpartition
和Array#join
:
ip.rpartition('.')[0,2].join
# => "10.0.0."
答案 1 :(得分:3)
str[/(\d+\.){3}/]
# => "10.0.0."