<%= @contact.foo_help %>
輸出數字標識和標題(它們之間有空格),例如:29292這是標題。我只是想要這個號碼。它並不總是相同數量的數字,並且我在標題中使用數字。紅寶石在第一個空格後刪除所有內容
我在想最簡單的方法是在第一個空格之後把所有的東西都刪掉,但是我是這個框架的兩個弱點,無法獲得synstax的權利!請幫助
<%= @contact.foo_help.gsub(\s ' ') %>
<%= @contact.foo_help %>
輸出數字標識和標題(它們之間有空格),例如:29292這是標題。我只是想要這個號碼。它並不總是相同數量的數字,並且我在標題中使用數字。紅寶石在第一個空格後刪除所有內容
我在想最簡單的方法是在第一個空格之後把所有的東西都刪掉,但是我是這個框架的兩個弱點,無法獲得synstax的權利!請幫助
<%= @contact.foo_help.gsub(\s ' ') %>
我認爲最簡單的/清潔的事是使用String#[]
用正則表達式的說法:
<%= @contact.foo_help[/\d+/] %>
例如:
>> '29292 This Is A Title.'[/\d+/]
=> "29292"
>> '29292 This 9999 Is A Title.'[/\d+/]
=> "29292"
你也可以擰緊了位並在字符串的開始處錨定正則表達式:
<%= @contact.foo_help[/\A\d+/] %>
但我不知道你是否需要額外的噪音。
基本的想法是說出你的意思(「給我在字符串開頭的數字,我知道它會以數字開頭)」,而不是抓住你不想要的東西並扔掉它。
試試這個
str = "29292 This Is A Title"
number = str.to_i
=> 29292
number.class
=> Fixnum
'29292 555 This Is A Title 8989'.to_i
=> 29292
希望這會幫助你。
你使用的是Rails還是Ruby? –
'gsub''參數需要用逗號分隔,第一個參數必須是字符串或正則表達式。如果你想要後者,你必須使用正則表達式('/ \ s /')。我知道你對這門語言很陌生,但這是從以往的文檔或文檔開始的基本內容。 –