use*_*622 0 ruby string rubygems ruby-on-rails string-matching
我有一个字符串数组
["2 192.168.1.101 10000",56 192.168.1.101 10001","3 192.168.1.101 10002","1 192.168.1.101 10003"]
Run Code Online (Sandbox Code Playgroud)
我想获取部分或每个字符串项,并创建单独的数组,如:
["2","56","3","1"] , ["192.168.1.101","192.168.1.101","192.168.1.101","192.168.1.101"] and
["10000","10001","10002","10003"]
Run Code Online (Sandbox Code Playgroud)
我的问题是如何获得这些角色?
对于第一个数组,它会是从第一个到"空白空间得到<和第二个数组,它会是从""到""得到<和第三个类似于从"到最后得到<
我希望我的问题得到很好的理解,我得到一些回复,谢谢你提前!
比杰夫的回答短一点:
data = ["2 192.168.1.101 10000","56 192.168.1.101 10001","3 192.168.1.101 10002","1 192.168.1.101 10003"]
data.map(&:split).transpose
Run Code Online (Sandbox Code Playgroud)
String#split默认情况下在空格上拆分,当你只需要为每个数组条目调用一个方法时,map { |x| x.do_something }你可以使用更短的方法map(&:do_something).