Tengo esta cadena:
"some text\nandsomemore"
Necesito quitarle "\ n". He intentado
"some text\nandsomemore".gsub('\n','')
pero no funciona. ¿Cómo lo hago? Gracias por leer.
Necesita usar "\n"
not '\n'
en su gsub. Las diferentes comillas se comportan de manera diferente.
Las comillas dobles "
permiten la expansión de caracteres y la interpolación de expresiones, es decir. te permiten usar caracteres de control escapados como \n
para representar su verdadero valor, en este caso, nueva línea , y permiten el uso de #{expression}
para que puedas tejer variables y, bueno, prácticamente cualquier expresión ruby que te guste en el texto.
Mientras que, por otro lado, las comillas simples '
tratan la cadena literalmente, por lo que no hay expansión, reemplazo, interpolación o lo que sea.
En este caso particular, es mejor utilizar el método String .delete
o .tr
el método para eliminar las nuevas líneas .
tr
es una mejor opción para esta tarea, pero como digo, pensé que era mejor señalar la diferencia entre comillas simples y dobles cuando respondí.Cuando desee eliminar una cadena, en lugar de reemplazarla, puede usar
String#delete
(o su equivalente mutadorString#delete!
), por ejemplo:x
ahora es igual a "foofoo"En este caso específico
String#delete
es más legible quegsub
ya que en realidad no está reemplazando la cadena con nada.fuente
delete
no es destructivo como se indica aquí. Devuelve una nueva cadena.Si desea o no le importa que se eliminen todos los espacios en blanco iniciales y finales de su cadena, puede usar el
strip
método.como se menciona aquí .
editar El título original de esta pregunta era diferente. Mi respuesta es para la pregunta original.
fuente
strip
solo elimina los espacios en blanco inicialesNo necesitas una expresión regular para esto. Utilice tr:
fuente
replace
simplemente cambia la cadena a una nueva, como asignación de variable; mientras quetr
es una búsqueda y reemplazo global carácter por carácter.uso
chomp
ostrip
funciones de Ruby:fuente
strip
solo elimina los espacios en blanco inicialesMira aquí:
fuente