回答
我會用的是gsub
。
irb(main):001:0> s = "a=b&c=d&e=f&g=h"
=> "a=b&c=d&e=f&g=h"
irb(main):004:0> s.gsub(/[\=\&]/, " ").split()
=> ["a", "b", "c", "d", "e", "f", "g", "h"]
所以,我們在這裏所做的是用一個空格替換的=
和&
所有出現。然後我們只需split
這個字符串。
分裂FTW(即這樣做的最直接的,簡單的方法是):濫用紅寶石的
irb(main):001:0> s = "a=b&c=d&e=f&g=h"
=> "a=b&c=d&e=f&g=h"
irb(main):002:0> s.split(/[=&]/)
=> ["a", "b", "c", "d", "e", "f", "g", "h"]
其他有趣的方式:
irb(main):001:0> s = "a=b&c=d&e=f&g=h"
=> "a=b&c=d&e=f&g=h"
irb(main):002:0> s.split('=').collect{|x| x.split('&')}.flatten
=> ["a", "b", "c", "d", "e", "f", "g", "h"]
irb(main):003:0> ['=','&'].inject(s) {|t, n| t.split(n).join()}.split('')
=> ["a", "b", "c", "d", "e", "f", "g", "h"]
還要檢查卡里的和GamesBrainiac對更多的選擇答案:)
感謝!我對紅寶石有些生疏,我不知道你能做到這一點。 –
肯定:http://ruby-doc.org/core-2.2.0/String.html#method-i-split – Mircea
您可以取代'collect'和'flatten'用'flat_collect',呃,我的意思是[可枚舉#flat_map](http://ruby-doc.org/core-2.2.0/Enumerable.html#method-i-flat_map)。 –
你可以很容易地用這樣的事情做一個哈希:
myHash = {}
strSplit = "a=b&c=d&e=f&g=h".split("&")
for pair in strSplit
keyValueSplit = pair.split("=")
myHash[keyValueSplit[0]] = keyValueSplit[1]
end
myHash
看起來像這樣到底{"a"=>"b", "c"=>"d", "e"=>"f", "g"=>"h"}
@ MIREA的回答是最好的,但這裏的另一個:
s = "a=b&c=d&e=f&g=h"
s.scan /[a-z]/
#=> ["a", "b", "c", "d", "e", "f", "g", "h"]
正則表達式可以作爲必修課的調整。例如:
"123a=b&c=d&E=f&g=h".scan /[A-Za-z0-9]/
#=> ["1", "2", "3", "a", "b", "c", "d", "E", "f", "g", "h"]
或
"1-2-3a=$b&c=d&e=f&g=h".scan /[^=&]/
#=> ["1", "-", "2", "-", "3", "a", "$", "b", "c", "d", "e", "f", "g", "h"]
等。
如果字符的字符串所需的只是追加+
的字符類:
"123a=b&ccc=d&E=f&gg=h".scan /[A-Za-z0-9]+/
#=> ["123a", "b", "ccc", "d", "E", "f", "gg", "h"]
如果字符串中的示例所示的交流形式,這些工作還有:
(0..s.size).step(2).map { |i| s[i] }
#=> ["a", "b", "c", "d", "e", "f", "g", "h"]
s.each_char.each_slice(2).map(&:first)
#=> ["a", "b", "c", "d", "e", "f", "g", "h"]
- 1. 如何將散列數組轉換爲散列值數組?
- 2. 如何將散列轉換爲數組或數組?
- 3. 如何將內容從以前的散列表轉換爲新的散列表?
- 4. 如何將下列數組轉換爲散列?
- 5. 將數組轉換爲散列
- 6. 將數組轉換爲散列
- 7. Ruby如何將平面數組轉換爲散列
- 8. 如何將此散列轉換爲哈希數組?
- 9. 如何將散列表轉換爲數組
- 10. 如何將散列數組轉換爲排序哈希?
- 11. 如何將數組轉換爲Perl中的散列?
- 12. 你可以將2-d數組轉換爲散列表嗎?
- 13. 如何將字符串轉換爲散列或將其添加到散列
- 14. 如何將以下內容從VB轉換爲C#.net?
- 15. 你會如何將以下內容轉換爲yii2
- 16. 如何將以下內容轉換爲尾遞歸過程?
- 17. 如何將以下內容轉換爲char []?
- 18. 如何將以下內容轉換爲二叉樹?
- 19. 將散列轉換爲嵌套散列
- 20. 如何將以下內容轉換爲LINQ查詢或對象查詢?
- 21. 如何將單元格數組內容轉換爲序數值?
- 22. 將散列轉換爲NSString?
- 23. 將陣列數組轉換爲散列陣列
- 24. 如何將perl散列轉換爲javascript散列
- 25. 如何將一個散列轉換爲另一個散列?
- 26. 如何將列表轉換爲數組?
- 27. 如何將表列轉換爲數組?
- 28. 如何將數組轉換爲列表
- 29. 如何在JavaScript中將文件的內容轉換爲數組?
- 30. 如何將此內容轉換爲數組?
你通過某種網絡請求來做到這一點?在那裏,是那些查詢參數? – Makoto
不,它不是查詢字符串,它是來自某個web post的響應 –