Supongo que es una pregunta fácil¿Cómo elimino la subcadena después de cierto carácter en una cadena usando Ruby?
¿Cómo puedo hacer esto?
Supongo que es una pregunta fácil¿Cómo elimino la subcadena después de cierto carácter en una cadena usando Ruby?
¿Cómo puedo hacer esto?
str = "Hello World"
stopchar = 'W'
str.sub /#{stopchar}.+/, stopchar
#=> "Hello W"
Ambos trabajaron, ¡gracias! – JayX
encuentro que "Part1?Part2".split('?')[0]
es más fácil de leer.
pero luego tendría que volver a agregarlo al? si lo quisiste, entonces no creo que responda tu pregunta exacta. – Ivan
Me gusta esta respuesta, porque no tiene que comprobar si "?" está presente, también funciona con cualquier otra cadena sin lanzar una excepción. –
me sorprende que nadie sugiere utilizar 'gsub'
irb> "truncate".gsub(/a.*/, 'a')
=> "trunca"
La versión explosión de gsub se puede utilizar para modificar la cadena.
¿No quiere decir '/ (? <= A). * /' O '/ a \ K. * /', Para excluir '" a "' de la coincidencia? –
@CarySwoveland sí, eso o reintroducir el char. Buena atrapada. – philant
Bueno, creo que el título se explica por sí solo. Además, acepté la respuesta de Jacob hace aproximadamente 13 horas, solo dale a los demás algo de tiempo; normalmente la gente no actualiza la misma página y espera respuestas. – JayX
Editar el título no es para beneficiarlo. Es para beneficiar a otros que están buscando una respuesta al mismo problema. No aclarar tu título y pregunta realmente te lastima porque nadie votará tu pregunta si creen que es inútil. Solo mis dos centavos. – DJTripleThreat
La pregunta no explica cuánto tiempo dura la subcadena, por lo que es muy vaga. Aparentemente, usted quería que la subcadena comenzara inmediatamente después de que la primera instancia de un cierto personaje se extendiera hasta el final de la cadena principal. No esperes que leamos mentes. Otro telépata podría hacer la misma pregunta que usted pero exigir una respuesta diferente porque solo quiere eliminar una subcadena de longitud 1. –