The*_*xit 19 ruby regex ruby-on-rails ruby-on-rails-3
给出如下字符串:
randomstring1-randomstring2-3df83eeff2
Run Code Online (Sandbox Code Playgroud)
我怎样才能使用红宝石正则表达式或其他一些ruby/rails友好方法来查找所有内容,直到第一个破折号 -
在上面的例子中,它将是:randomstring1
谢谢
Kir*_*huk 44
您可以使用此模式: ^[^\-]*
mystring = "randomstring1-randomstring2-3df83eeff2"
firstPart = mystring[0, mystring.index("-")]
Run Code Online (Sandbox Code Playgroud)
否则,我认为最好的正则表达式是@ polishchuk's.
它从字符串的开头匹配,尽可能多地匹配任何不是破折号的东西-.
小智 6
使用irb你也可以这样做:
>> a= "randomstring1-randomstring2-3df83eeff2"
=> "randomstring1-randomstring2-3df83eeff2"
>> a.split('-').first
=> "randomstring1"
>>
Run Code Online (Sandbox Code Playgroud)