Tengo un problema, estoy usando JS. Digamos que tengo este texto separado por párrafos:
prueba hola
prueba1 hola
prueba2 hola
prueba3 hola
y luego quiero unir todos los párrafos uno al lado del otro así: Test hola Test1 hola Test2 hola Test3 hola, así que hice esto:
<pre> var x = string.trim(); var xArr = x.match(/^\n|\S+/gm); var xJoin = xArr.join(" "); </pre>pero continúa como antes con los párrafos, también intento con string.replace(). Después de x.match(/^\n|\S+/gm) me trae una matriz como esta:
<pre> [, , Test, hello , , Test1, hello , , Test2, hello , , Test3, hello , , ] </pre>Entonces esto me pareció un poco extraño, ¿podría ser que realmente no está separado por saltos de línea? ¿Alguna idea de cómo poner las cuerdas una al lado de la otra? Gracias.
Prueba esto
const text = `Test hello Test1 hello Test2 hello Test3 hello`; console.log(text.split('\n').filter(t => !!t).join(" "));Necesita arreglar algunos problemas menores en su código
^ (este comienzo de cadena) de su patrón let str = `Test hello Test1 hello Test2 hello Test3 hello` var x = str.trim(); var xArr = x.replace(/\n|\r|\r\n/gm, ' '); console.log(xArr)¿Tu párrafo está en un elemento html? Si es así, puedes usar esto:
const textElement = document.getElementById("text"); console.log(textElement.innerText); <div id="text"> Test hello Test1 hello Test2 hello Test3 hello </div>O colóquelo en un elemento html creado a partir de su javascript antes de usar el método anterior.
De lo contrario, ¿puedes probar esta expresión regular? text.replace(/(\r\n|\n|\r)/gm, "");