我讀過[這裏] [1]和[這裏] [2],但他們並沒有完全回答我的問題。地帶結束括號集從一個字符串
假設我有以下產品名稱&代碼:
Cool Product 9000 (CP9000)
我要脫掉最後空間,一切都只是會留下後:
Cool Product 9000
我將如何實現這一目標?
如果你知道一個引導或教程在那裏,會解釋這一點,隨意只是指向我吧。
編輯:我的道歉,如果我原來的問題是稍微不鮮明。我非常感謝所有的答案,我會在測試答案之前先測試一下,看看我最喜歡哪一個。
我讀過[這裏] [1]和[這裏] [2],但他們並沒有完全回答我的問題。地帶結束括號集從一個字符串
假設我有以下產品名稱&代碼:
Cool Product 9000 (CP9000)
我要脫掉最後空間,一切都只是會留下後:
Cool Product 9000
我將如何實現這一目標?
如果你知道一個引導或教程在那裏,會解釋這一點,隨意只是指向我吧。
編輯:我的道歉,如果我原來的問題是稍微不鮮明。我非常感謝所有的答案,我會在測試答案之前先測試一下,看看我最喜歡哪一個。
同OMG的方法,但修改s
本身:
s = 'Cool Product 9000 (CP9000)'
s[s.rindex(' ')..-1] = ''
s
# => "Cool Product 9000"
這應該這樣做:
string.sub!(/\s+\S*$/, '')
但是,對於括號內的善良,你也可以這樣做:
string.sub!(/\s+\(.*?$/, '')
,它會趕上(而不是趕上)由以下@Phrogz給出的例子:
foo bar baz
將不會改變和
foo bar (bar baz)
會變成
foo bar
stripped = string.sub /\s*\([^)]+\)\z/, ''
,上面寫着:
\s*
\(
[^)]+
\)
\z
結束,並沒有取代它。
使用ungreedy-qualifier,盧克! '/ \ s * \(。*?\)\ z /':D – Massa
@Massa - 同樣的事情,但由於回溯而表現不佳。 – pguardiario
s = 'Cool Product 9000 (CP9000)'
s[0...s.rindex(" ")]
# => "Cool Product 9000"
的OP明確表示<<我要脫掉最後空間,一切都只是只剩下後>> – Massa
'+ 1',因爲當OP已經提到他/她的要求時,我不想再猜測。 –
我的錯誤,馬薩。+1 :)我被問題標題和樣本數據與該句子之間的差異所誤導。我刪除了我的詆譭(和不正確)評論。 – Phrogz