我需要一些完善正則表達式的建議。我試圖用一個表達式將一個字符串分成三部分。行來自一個文本文件中的格式如下所示:Ruby中的正則表達式在字符串中進行多重分割
25 red delicious apples at 0.75
,其中第一部分是數量,第二個是項目名稱,第三個是每件的價格。我正在使用的代碼是這樣的:
File.open('basket.txt').each_line do |line|
item = line.split(/(\d+)\s|\sat\s/, 3)
這將字符串分割,我想它,但它創建了一個項目數組長度爲4(第一索引包含nil
)。我也想擺脫浮動結尾處的換行符。
我個人很喜歡正則表達式,但我會不喜歡使用一個在這種情況下。我將只是做 '字= line.split' '量= words.shift' '價格= words.reverse.shift' '名= words.join(」「)' –
哦,我忘了字符串中的'at'。那是我的第二個標記。 –
在這種情況下,我將做到: '詞語= line.split;' '量= words.shift;' '價格= words.reverse.shift;' 'words.reverse.shift;' 'name = words.join(「」)' –