- ベストアンサー
Ruby 最初のセパレータで文字列を二つに分解
Rubyで、どうか書いたらよいですか? 文字列を最初(最左)の=で分割し、x,yにそれぞれを代入したいです。 例)"hoge=1&piyo=2" x => "hoge" y => "1&piyo=2" また、hoge=のように=の右が無い場合、yに""を代入したいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
splitは分割数の上限を指定することができます。 irb(main):010:0> "hoge=1&piyo=2".split('=', 2) => ["hoge", "1&piyo=2"] irb(main):011:0> "hoge=".split('=', 2) => ["hoge", ""] irb(main):012:0> x, y = "hoge=".split('=', 2) => ["hoge", ""] irb(main):013:0> x => "hoge" irb(main):014:0> y => "" irb(main):015:0>
その他の回答 (1)
- notnot
- ベストアンサー率47% (4900/10358)
回答No.1
一旦バラして、つなぐのが楽でしょうかね。 x, *w = "hoge=1&piyo=".split(/=/) y = w.join('=') "hoge=" の時もOKです。
質問者
お礼
なるほどです。 多重代入の*って、こういうふうに使うんですね。 ありがとうございました。
お礼
いつもお世話になります(^^; 一発ですね。rubyは便利ですね。 ありがとうございました。