#はじめに
rubyで複数の区切り文字でデータが与えられ時,
例えば1->2 3
のように->
と' 'で区切られているとき
str.split("->").split(" ")
ではだめです
なぜならString.split("->")
で["1","2 3"]
となり
配列に対してsplit
メソッドは定義されていないのでエラーとなるからです
#解決案
単純に区切り文字を統一してからsplitすればいいので
str.gsub("->"," ").split(" ")
とすればよいでしょう
ただしこれは,どの区切り文字であろうと,どこにあろうと自由です
つまり以下のものなども対応します
1->2->3
1 2 3
1 2 3 4 5 6->7 8->9->10
形式が決まっているのなら
str.match(/(\d)->(\d)\s(\d)/)
と書いてもよいでしょう**(返り値の形式に注意)**
数字だけとか取り出したいものが決まっていれば
str.scan(/\d/)
と書けます