Esta es una pregunta de dos partes. Dado que tiene una serie de cadenas que se pueden dividir en un carácter (por ejemplo, direcciones de correo electrónico en '@' o nombres de archivo en '.') ¿Cuál es la forma más efectiva de encontrar los caracteres antes del carácter dividido?Búsqueda de cadenas de rubíes: ¿cuál es más rápida división o expresiones regulares?
my_string.split(char)[0]
o
my_string[/regex/]
La segunda parte de la pregunta es ¿cuál es ¿cómo se escribe una expresión regular para conseguir todo antes de la primera instancia de un personaje. La expresión regular a continuación encuentra ciertos caracteres antes de un '.' (porque '.' no está en el patrón) pero esa era mi manera estrafalaria de llegar a una solución.
my_string[/[A-Za-z0-9\_-]+/]
gracias!
Dudo que haya una diferencia notable al tratar con las direcciones de correo electrónico (a menos que esté procesando millones por segundo ...). ¿Pero por qué no te mides a ti mismo y lo averiguas? –