我有一个哈希
x= {
"1"=>{:name=>"test1", :age=>"1"},
"5"=>{:name=>"test2", :age=>"5"},
"2"=>{:name=>"test3", :age=>"2"},
"4"=>{:name=>"test4", :adn=>"4"},
"3"=>{:name=>"test5", :adn=>"3"}
}
Run Code Online (Sandbox Code Playgroud)
期望输出
x= {
"1"=>{:name=>"test1", :age=>"1"},
"2"=>{:name=>"test3", :age=>"2"},
"3"=>{:name=>"test5", :age=>"3"},
"4"=>{:name=>"test4", :adn=>"4"},
"5"=>{:name=>"test2", :adn=>"5"}
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,我尝试做 x.sort.flatten 并且我得到了
[
"1", {:name=>"test1", :age=>"1"},
"2", {:name=>"test3", :age=>"2"},
"3", {:name=>"test5", :adn=>"3"},
"4", {:name=>"test4", :adn=>"4"},
"5", {:name=>"test2", :age=>"5"}
]
Run Code Online (Sandbox Code Playgroud) 我有一个字符串数组
test= ["ChangeServer<br/>Test: 3-7<br/>PinCode:DFSFSDFB04008<br/>ShipCode:DFADFSDFSDM-000D3<br/>SomeCode:sdfsdf", "werwerwe", "adfsdfsd",
"sdfsdfsdfsd<br/>Test: 9<br/>PinCode:ADFSDF4NS0<br/>ShipCode:FADFSDFD-9ZM170<br/>"]
Run Code Online (Sandbox Code Playgroud)
我想要抓住的号码后Test:,其上面的字符串的阵列中是3,4,5,6,7(范围3-7)和9
期望的输出:
["3","4","5","6","7","9"]
Run Code Online (Sandbox Code Playgroud)
到目前为止我尝试了什么
test.join.scan(/(?<=Test: )[0-9]+/)
=> ["3", "7"]
Run Code Online (Sandbox Code Playgroud)
如何处理范围?
第二个测试案例:
test= ["ChangeServer<br/>Test: 3-7<br/>PinCode:DFSFSDFB04008<br/>ShipCode:DFADFSDFSDM-000D3<br/>SomeCode:sdfsdf", "werwerwe", "adfsdfsd",
"sdfsdfsdfsd<br/>Test: 9<br/>PinCode:ADFSDF4NS0<br/>ShipCode:FADFSDFD-9ZM170<br/>", "sdfsdfsdfsd<br/>Test: 15-18<br/>PinCode:ADFSDF4NS0<br/>ShipCode:FADFSDFD-9ZM170<br/>"]
Run Code Online (Sandbox Code Playgroud)
期望的输出:
["3","4","5","6","7","9","15","16","17","18"]
Run Code Online (Sandbox Code Playgroud)