给定一个字符串如下:
randomstring1-randomstring2-3df83eeff2
我该如何使用 Ruby 正则表达式或其他适用于 Ruby/Rails 的方法来查找第一个破折号 - 之前的所有内容?
在上面的示例中,结果应该是:randomstring1
谢谢
给定一个字符串如下:
randomstring1-randomstring2-3df83eeff2
我该如何使用 Ruby 正则表达式或其他适用于 Ruby/Rails 的方法来查找第一个破折号 - 之前的所有内容?
在上面的示例中,结果应该是:randomstring1
谢谢
您可以使用这个模式: ^[^\-]*
mystring = "randomstring1-randomstring2-3df83eeff2"
firstPart = mystring[0, mystring.index("-")]
-
的任何内容中尽可能地匹配。使用irb也可以这样做:
>> a= "randomstring1-randomstring2-3df83eeff2"
=> "randomstring1-randomstring2-3df83eeff2"
>> a.split('-').first
=> "randomstring1"
>>
[^\-]
表示除了“-”以外的任何字符。 - Kirill Polishchuk[^\-]*
表示任何不以-
开头的字符串? - Brad^
。在这种情况下,正则表达式将匹配randomstring1
、randomstring2
和3df83eeff2
。 - Kirill Polishchuk