Supongamos que tenemos una cadena como esta:
Hello, my\n name is Michael.
¿Cómo puedo eliminar esa nueva línea y quitar esos espacios después de eso en uno dentro de la cadena para obtener esto?
Hello, my name is Michael.
echa un vistazo al squishmétodo Rails :
some_string.strip.gsub(/\s+/, " ")que es exactamente lo que hace Squish.squishPara ilustrar Rubys integrado en el apretón :
fuente
squeeze(' ')solo aprieta espacios."Squeeze my application's copy".squeeze(' ') => "Squeeze my application's copy".La forma más sencilla probablemente sería
fuente
Prueba esto:
fuente
fuente
\nideal (creo) que debería reemplazarse con un espacio en caso de algo como"Hello,\nMy name is Michael"esta expresión regular reemplazará la instancia de 1 o más espacios en blanco con 1 espacio en blanco, ps
\sreemplazará todos los caracteres de espacio en blanco que incluyen\s\t\r\n\f:Del mismo modo para solo retorno de carro
Primero reemplace todo
\ncon espacios en blanco, luego use la expresión regular eliminar múltiples espacios en blanco.fuente
Utilice String # gsub :
fuente
"Hello,\nMy name is Michael". Idealmente, querría un espacio donde haya un\nfuente
Puede agregar solo el
squishmétodo (y nada más) a Ruby al incluir solo esta faceta de Ruby:https://github.com/rubyworks/facets/blob/master/lib/core/facets/string/squish.rb
Entonces usa
No requiere rieles.
fuente