Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

258
Vistas
Seleccione todos los caracteres en una cadena hasta un carácter específico Ruby

Entonces, lo que quiero es obtener n caracteres hasta que llegue a un carácter específico.

tengo esta cadena:

 a='2.452811139617034,42.10874821716908|3.132087902867818,42.028314077306646|-0.07934861041448178,41.647538468746916|-0.07948265046522918,41.64754863599606'

¿Cómo puedo hacer que solo llegue al personaje? , pero sin obtener ese carácter, y obtenerlo así:

 2.452811139617034,42.10874821716908
over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Simplemente puedes hacerlo así:

a.split('|').first

over 4 years ago · Santiago Trujillo Denunciar

0

Puede evitar crear un Array innecesario (como Array#split ) o usar Regex (como Array#gsub ) usando.

 a = "2.452811139617034,42.10874821716908|3.132087902867818,42.028314077306646|-0.07934861041448178,41.647538468746916|-0.07948265046522918,41.64754863599606" a[0,a.index('|')] #=>"2.452811139617034,42.1087482171"

Esto significa seleccionar caracteres en las posiciones 0 hasta el índice de la primera tubería ( | ). Técnicamente hablando, es comenzar en la posición 0 y seleccionar la longitud de n donde n es el índice del carácter de canalización que funciona en este caso porque Ruby usa indexación basada en 0.

Como @CarySwoveland señaló astutamente, es posible que la cadena no contenga una tubería, en cuyo caso mi solución tendría que cambiar a

 #to return entire string a[0,a.index('|') || a.size] # or b = a.index(?|) ? a[0,b] : a # or to return empty string a[0,a.index('|').to_i] # or to return nil a[0,a.index(?|) || -1]
over 4 years ago · Santiago Trujillo Denunciar

0

a[/[^|]+/] #=> "2.452811139617034,42.10874821716908"

La expresión regular simplemente coincide con tantos caracteres distintos de '|' que puede

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda