如果我收到的輸入,如:如何從用戶輸入中刪除陣列中的空白區域?
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
返回海峽的一個副本,開頭和結尾的空格去掉,lstrip
和rstrip
的左側或右側做相同的只是分別爲:
p ' ayayayayay '.strip # "ayayayayay"
p ' ayayayayay '.lstrip # "ayayayayay "
p ' ayayayayay '.rstrip # " ayayayayay"
由於您只想刪除之前某些字符串使用的空白lstrip:
返回海峽的副本領先空格刪除。
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"]
,或者,如果你不是一個白癡(像我一樣),你可以這樣做:
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