这个肯定有很多办法,但是
irb(main):013:0> File.basename("1,2,3,4,5.exe", ",*") => "1,2,3,4"
2.1.2 :035 > "1,2,3,4,5.exe".split(/,(?![^,]*,)/) => ["1,2,3,4", "5.exe"]
正则表达式可以解决。
从别的地方借鉴过来的,但是我还是不太明白怎么匹配成功的,见笑了
puts "1,2,3,4,5.exe".gsub(/,[^,]*$/, '')
"1,2,3,4,5.exe".split(',')[0..-2].join(',')
def basename(s, m) s[0...s.rindex(m)] end