Necesito comparar dos cadenas ignorando los espacios en blanco, los caracteres de nueva línea, el espacio sin interrupciones. Las cadenas deben ser iguales.
mueve el cursor hacia abajo a \r\n \r\n la siguiente línea sin regresar.
mueve el cursor hacia abajo a la siguiente \r\n \r\n línea sin regresar.
Puede deshacerse de ellos con una simple expresión regular.
const pureString = str.replace(/(?:\r\n|\r|\n)/g, '');Y luego haga su comparación entre las dos cadenas.
En la expresión regular, está reemplazando todos los \r\n , \r y \n en su cadena con '' , por lo que no tiene nada.
Puede quitar las dos cadenas de todos los caracteres que desea ignorar.
Para eliminar una cadena de todos los caracteres que no desea, puede usar la función replace(). Al usar \s eliminamos todos los espacios, tabulaciones y nuevas líneas, si desea algo más específico, debe cambiar el primer argumento de la función replace().
string.replace(/\s+/g, '')(consulte esta pregunta SO para comprender cómo funciona: elimine los espacios en blanco dentro de una cadena en javascript )
Para comparar dos cadenas podrías usar
string1.localeCompare(string2)(consulte esta pregunta SO para comprender cómo funciona: ¿la forma óptima de comparar cadenas en JavaScript? )
Si pones estos dos conceptos juntos, obtienes
string1 = string1.replace(/\s+/g, '') string2 = string2.replace(/\s+/g, '') string1.localeCompare(string2)que debe responder a su pregunta.