Versión corta - ¿Cómo hago Python rsplit() en ruby?Ruby: división de cadena en el carácter, contando desde el lado derecho
Versión más larga - Si quiero dividir una cadena en dos partes (nombre, sufijo) en el primer '.' carácter, esto hace el trabajo muy bien:
name, suffix = name.split('.', 2)
Pero si desea dividir en la última (más a la derecha) '' carácter, que no han sido capaces de llegar a nada más elegante que esto:
idx = name.rindex('.')
name, suffix = name[0..idx-1], name[idx+1..-1] if idx
Tenga en cuenta que la cadena del nombre original puede no tiene un punto en absoluto, en cuyo caso el nombre debe estar intacto y el sufijo debe ser nulo; también puede tener más de un punto, en cuyo caso solo el bit posterior al final debe ser el sufijo.
Gracias! String # rpartition también está presente en Ruby 1.8.7. – alberge
@alberge: Efectivamente, arreglé mi respuesta. ¡Gracias! –