2010-06-23 52 views
1

所以獨立我得到我需要的東西。但我想截斷它,我的動態文本出來與髒字符與Microsoft Word垃圾垃圾。RubyRails:混合消毒和截斷可以是一件骯髒的事情

一個例子:

≪! [If Gte Mso 9]>≪Xml> ≪Br /> ≪O:Office Document Settings> ≪Br /> ≪O:Allow Png/> ≪Br /> ≪/O:Off... 

那麼,如何獲得兩全其美?有沒有一種簡單的紅寶石方式來做到這一點?例如一個gsub語句會在第125個字符後刪除所有內容?

回答

1

,如果你只是想切,你可以

>> long_ugly_string = "omg this is a long string" 
=> "omg this is a long string" 
>> long_ugly_string[10..-1] 
=> "s a long string" 

參考:http://ruby-doc.org/core/classes/String.html#M000771

如此,你只是指定起始字符(10)和結束字符(-1告訴它去到字符串的末尾)。

+0

我很抱歉,因爲你是傻子......但你會怎麼寫呢?我不熟悉正則表達式。我試過str.slice(125 ..- 1)沒有效果 – Trip 2010-06-23 17:55:16

+0

嗯我發現字符串[0..125]的作品,但它在這種情況下奇怪的是,該空間是空字符,因爲它的MicrosoftWord。所以現在我正在尋找一個正則表達式,它會使regexp =起始點或第一個字符並將其放入str [start..0]中。 – Trip 2010-06-23 18:45:26

+0

還有這個:long_ugly_string.gsub(/ ^。{10} /,'') – 2010-06-23 18:52:07