Aquí hay una cadena, un contenido es "hola a todos, soy nuevo aquí (en serio)"
¿Cómo puedo devolver un "hola + todo + I" m + nuevo + aquí "usando el código ruby?
Respuestas
2 para la respuesta № 1¿Por qué no simplemente encadenar el .gsub()
comandos?
x.gsub(/(.*?)/, "").gsub(/s+/,"+")
Además, puede actualizar su primer gsub
para eliminar cualquier espacio en blanco que precede a los corchetes también.
x.gsub(/s+(.*?)/, "")
2 para la respuesta № 2
Si realmente quieres usar un solo gsub
operación, puede pasar un hash como parámetro de reemplazo:
x.gsub(/( *(.*?)| )/, " " => "+", default: "")
# => "hi+all"
Lo que esto hace es capturar algo entre paréntesis (incluidos los espacios iniciales) o espacios. Si la captura es un espacio, se reemplaza por "+"
de lo contrario, se reemplaza por una cadena vacía ""