1

私はルビーを学ぼうとしています。Rubyでに変換するエレガントな方法は何'"abcd" "efg"'ですか?['abcd', 'efg']

ありがとう。

4

3 に答える 3

3

これを試して:

require 'shellwords'
'"abcd" "efg"'.shellsplit
#=> ["abcd", "efg"]
于 2012-06-10T08:38:47.733 に答える
1

"文字を削除してからスペースで分割することもできます

'"abcd" "efg"'.tr('"','').split
'"abcd" "efg"'.delete('"').split
于 2012-06-10T16:54:15.707 に答える
0

scan文字列内のパターンのすべての出現を検索するを使用できます。

'"aaa" "bbb"'.scan(/"([^"]*)"/)
=> [["aaa"], ["bbb"]]

説明:

  • /何か/が正規表現です(文字列に一致する可能性があります)
  • /"何か"/は、で始まる文字列と終わる文字列に一致する正規表現です"
  • [^"]以外の文字と一致します"
  • [^"]*できるだけ多くのこれらの文字に一致します。
  • そして、結果に必要なビットが必要であることを伝えます()
于 2012-06-11T23:15:50.750 に答える