我的约会时间为“23-12-2010”或“2013-” 我想提取2013年的有效年份 - 即。 2013年和有效日期为23-12-1010,即23-12-2010。 所以我试图在最后' - '之前提取所有tring,如果它存在的话。
我试过以下。
"2013-"[/.+?(?=-)/]
但是对于“23-12-2010”的日期,它仅返回“23-12” 我在这里缺少什么。??
答案 0 :(得分:2)
在您的情况下,似乎年份包含4位数字,因此您可以编写如下内容:
2.1.5 :037 > "23-12-2010"[/\d{4}/]
=> "2010"
正如您所看到的,此正则表达式将检测年份为4位数的模式。
答案 1 :(得分:1)
p "23-12-2010".chomp('-') # => "23-12-2010"
p '2013-'.chomp('-') # => "2013"
答案 2 :(得分:0)
它不是很好的解决方案,但我认为它对您有用:
s="23-12-2010"
s.split('-').size==3 ? s.split('-').last : s.split('-').first
=> "2010"
s2="2010-"
s2.split('-').size==3 ? s2.split('-').last : s2.split('-').first
=> "2010"
答案 3 :(得分:0)
使用sub删除末尾的短划线:
wrapper.someFunction();