- Ruby 初心者スレッド Part 55
483 :デフォルトの名無しさん[sage]:2014/09/16(火) 12:35:51.91 ID:4hbcghNr - >>477
p array1 = "1日2時間3分4秒".split(/(?=\d+(?:日|時間|分|秒))/) #数字+単位の直前で分割 p array2 = "1日2時間3分4秒".split(/(?<=日|時間|分|秒)/) #単位の直後で分割 p array3 = "1日2時間3分4秒".scan(/\d+(?:日|時間|分|秒)/) #数字+単位を抽出 #「正規表現リテラル =~ 文字列」の場合だけ作動する名前つきグルーピングをローカル変数に設定する微妙な機能 /(?<day>\d+日)(?<hour>\d+時間)(?<min>\d+分)(?<sec>\d+秒)/ =~ "1日2時間3分4秒" p [day,hour,min,sec] p last_match
|