【问题标题】:Extracting individual IP addresses提取单个 IP 地址
【发布时间】:2015-08-24 11:00:55
【问题描述】:

如何从下面的数组中提取每个单独的 IP 地址?

strList = ["10.5.5.5 - 10.5.5.8"]

最终结果应该是这样的:

newList = ["10.5.5.5","10.5.5.6","10.5.5.7","10.5.5.8"]

你们有什么想法吗?

【问题讨论】:

  • 这不是问题。向我们展示您编写的方法,我们会告诉您可以改进的地方
  • 更好,但还是有问题。 strList 是一个包含一个字符串的数组。更好的,imo,是说“生成从“10.5.5.5”到“10.5.5.8”的所有地址,包括在内。“最终结果”是四个字符串,这不是一个Ruby对象。你应该把它设为由四个字符串组成的数组。这些更改将停止反对票,也许有一些被撤回。当你看到它时我会删除它。
  • 这个问题与stackoverflow.com/questions/30650295/count-ip-addresses 有何显着不同?请不要问同样的问题或非常相似的问题。相反,请仔细研究提供的答案并将该信息应用于您自己的代码。您没有显示您为解决此问题而编写的任何代码。请这样做,而不是要求我们为您编写。
  • 好的,很抱歉让你们中的大多数人感到不安;我是 StackOverFlow 的新手。下次我会尽力解释我的问题。我已经重新编辑了我的问题,所以我希望这更有帮助。谢谢!!
  • 我知道您是 SO 新手,但其中一条规则是发布后,您可以编辑以澄清,但您不应该更改问题。恐怕您已经通过添加文件操作来做到这一点。您可以看到原因:它会使现有答案不完整或错误。如果您有时间,请查看SO faq

标签: ruby ip-address


【解决方案1】:

你可以这样做:

require 'ipaddr'

(IPAddr.new("10.5.5.5")..IPAddr.new("10.5.5.8")).map(&:to_s)
  #=> ["10.5.5.5", "10.5.5.6", "10.5.5.7", "10.5.5.8]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-03
    • 1970-01-01
    • 2012-09-17
    • 2019-12-20
    • 1970-01-01
    • 2010-11-04
    • 2013-05-25
    • 1970-01-01
    相关资源
    最近更新 更多