Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

262
Visualizações
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 Respostas
Responde à pergunta

0

Simplemente puedes hacerlo así:

a.split('|').first

over 4 years ago · Santiago Trujillo Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda