<%= @contact.foo_help %>
输出数字ID和标题(它们之间有空格),例如:29292这是标题。我只想要这个号码。它并不总是相同数量的数字,偶尔我会在我的标题中使用数字。
我认为最简单的方法是在第一个空格出来之后gsub所有内容,但我是这个框架中的两个弱点并且无法正确获得synstax!请帮忙
<%= @contact.foo_help.gsub( \s ' ') %>
答案 0 :(得分:6)
答案 1 :(得分:5)
我认为最简单/最干净的方法是使用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+/] %>
但我不知道你是否需要额外的噪音。
基本的想法是说出你的意思(“给我字符串开头的数字,我知道它将以数字开头”),而不是抓住你不想要的东西扔掉。 / p>
答案 2 :(得分:4)
试试这个
str = "29292 This Is A Title"
number = str.to_i
=> 29292
number.class
=> Fixnum
'29292 555 This Is A Title 8989'.to_i
=> 29292
希望这会对你有所帮助。