Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

111
Views
¿Por qué necesito reemplazar \n con \n?

Tengo una línea de datos como esta:

1•#00DDDD•deeppink•1•100•true•25•100•Random\nTopics•1,2,3,0•false en un archivo de texto.

Específicamente, para mi "problema", estoy usando Random\nTopics como un dato de texto, y luego busco '\n' y divido el mensaje en dos líneas según la ubicación de '\n'.

Está almacenado en blockObj.msg, y lo busco usando blockObj.msg.split('\n') , pero seguí obteniendo una matriz de 1 (sin divisiones). Pensé que estaba haciendo algo fundamentalmente incorrecto y pasé más de una hora resolviendo problemas, hasta que, por capricho, intenté

blockObj.msg = blockObj.msg.replace(/\\n/g, "\n")

y eso pareció resolver el problema. ¿Alguna idea de por qué es necesario esto? Mi solución funciona, pero no tengo idea de por qué, y me gustaría entender mejor para no tener que pasar tanto tiempo buscando una respuesta tan extraña como esta.

Tengo un error similar al leer "texto" de un campo de texto de entrada. Si escribo un '\n' en el cuadro, la división no lo encontrará, pero usar un reemplazo funciona (el reemplazo parece inútil, pero aparentemente no lo es...)

obj.msg = document.getElementById('textTextField').value.replace(/\\n/g, "\n")

Lo siento si esto es confuso, usuario desde hace mucho tiempo de la lectura de soluciones, es la primera vez que publica una pregunta. ¡Gracias por tu tiempo y paciencia!

PD Si es posible... ¿hay alguna manera de hacer lo contrario? ¿Reemplazar un "\n" real con un "\n" falso? (Me gustaría tener mi archivo de datos generado dinámicamente para tener un "\n" en lugar de una nueva línea)

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Está almacenado en blockObj.msg, y lo busco usando blockObj.msg.split('\n') ,

En un literal de cadena de JavaScript, \n es una secuencia de escape que representa una nueva línea, por lo que está dividiendo los datos en nuevas líneas.

Sin embargo, los datos que tiene no tienen nuevas líneas. Tiene caracteres de barra seguidos de n caracteres. Son datos, no secuencias de escape.

Su llamada a replace ( blockObj.msg = blockObj.msg.replace(/\\n/g, "\n") ) soluciona esto al reemplazar las barras inclinadas y ns con nuevas líneas.

Sin embargo, ese es un enfoque demasiado complicado. Puedes unir los personajes que tienes directamente. blockObj.msg.split('\\n')

about 4 years ago · Juan Pablo Isaza Report

0

en tu archivo de texto

1•#00DDDD•deeppink•1•100•true•25•100•Random\nTopics•1,2,3,0•false

significa que hay caracteres que son \ y n , así es como se almacenan, pero para insertar un new line character por reemplazo, entonces está buscando el par de caracteres \ y n .

 obj.msg = document.getElementById('textTextField').value.replace(/\\n/g, "\n")

cuando haces el replace(/\\n/g, "\n")

está buscando \\n , esta es la versión escapada de la cadena, lo que significa que el reemplazo debe encontrar todas las cadenas que son \n , pero para buscar eso, primero debe escapar a \\n

EDITAR

/\\n/g es la cadena de expresiones regulares... \n es el valor... entonces /\REGEXSTUFFHERE/g el último / es seguido por banderas de expresiones regulares, por lo que g en /g sería una búsqueda global

recursos de expresiones regulares

prueba de expresiones regulares en línea

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!