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 squish
método Rails :
some_string.strip.gsub(/\s+/, " ")
que es exactamente lo que hace Squish.squish
Para 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
\n
ideal (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
\s
reemplazará 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
\n
con 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\n
fuente
Puede agregar solo el
squish
mé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