私のような入力を受け取った場合:ユーザー入力からアレイの空白を削除するにはどうすればよいですか?
up 1, down 2, down 3, left 5
そして、私は配列としてこれを保存し、それは私に
["up 1", " down 2", " down 3", " left 5"]
を与えるだろう。しかし、私は前にダウンスペースを削除し、左する必要があります!
アイデア?
私のような入力を受け取った場合:ユーザー入力からアレイの空白を削除するにはどうすればよいですか?
up 1, down 2, down 3, left 5
そして、私は配列としてこれを保存し、それは私に
["up 1", " down 2", " down 3", " left 5"]
を与えるだろう。しかし、私は前にダウンスペースを削除し、左する必要があります!
アイデア?
あなたはString#strip
を使用することができます。
array = ["up 1", " down 2", " down 3", " left 5"]
p array.map &:strip
# ["up 1", "down 2", "down 3", "left 5"]
strip
、削除先頭と末尾の空白でSTRのコピーを返しlstrip
とrstrip
左または右のためだけに、それぞれ同じ操作を行います。
p ' ayayayayay '.strip # "ayayayayay"
p ' ayayayayay '.lstrip # "ayayayayay "
p ' ayayayayay '.rstrip # " ayayayayay"
ので、あなたは空白を削除したいだけです特定の文字列を使用する前にlstrip:削除先頭の空白をとSTRのコピーを返します
。
arr = ["up 1", " down 2", " down 3", " left 5"]
arr.map(&:lstrip)
# => ["up 1", "down 2", "down 3", "left 5"]
だけの思考...
次のような文字列として "入力を受け取り、" オフの場合:あなたが行うことができ
str = "up 1, down 2, down 3, left 5"
:
str.gsub(', ', ',').split(',')
これは:
=> ["up 1", "down 2", "down 3", "left 5"]
OR、あなたは(私のような)のバカいないのであれば、あなたが行うことができます:
str.split(', ')
セバスチャンは、(非常に丁寧に)指摘するように。
スキッシュを使用して空白を削除する方法はありますか。私は前にダウンスペースを削除し、左する必要が
["up 1"," down 2", "down 3"," left 5"].map(&:squish)
!正確な質問に答える
は、次のように述べています
["up 1"," down 2"," down 3"," left 5"].
map { |e| e.gsub(/\s+(?=down|left)/, '') }
#⇒ ["up 1", "down 2", "down 3", "left 5"].
あなたの出力は無効です。 – Ilya
'gets.chomp.split( '、')#=> [" up 1 "、" down 2 "、" down 3 "、" left 5 "]' –
_これを配列として保存します... "入力をどのように配列に変換しますか?コードを表示してください。 – Stefan