Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

266
Views
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 answers
Answer question

0

Simplemente puedes hacerlo así:

a.split('|').first

over 4 years ago · Santiago Trujillo Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!