2012-05-10 14 views
10

¿Cómo puedo eliminar una nueva línea de la entrada del usuario en Node.js?Cómo eliminar una nueva línea de la entrada de la consola del usuario

El código:

var net = require("net"); 

var clientData = null; 

var server = net.createServer(function(client) { 
    client.on("connect", function() { 
     client.write("Enter something: "); 
    }); 
    client.on("data", function(data) { 
     var clientData = data; 
     if (clientData != null) { 
      client.write("You entered " + "'" + clientData + "'" + ". Some more text."); 
     } 
    }); 
}); 

server.listen(4444); 

Digamos que escribir "test" en la consola, se devuelve el siguiente:

You entered 'Test 
'. Some more text. 

me gustaría una salida tal que aparezca en la línea sola . ¿Cómo puedo hacer esto?

Respuesta

17

Solo necesita pelar la nueva línea.

puede cortar el último carácter de esta manera:

clientData.slice(0, clientData.length - 1) 

o puede utilizar expresiones regulares:

clientData.replace(/\n$/, '') 
+0

Perfecto. Muchas gracias :) – Eleeist

12

En Windows que podría tener \ r \ n allí. Así que en el núcleo a menudo se hace así:

clientData.replace(/(\n|\r)+$/, '') 

Por cierto, clientData.trim() función podría ser útil también.

+0

Prefiero usar el método trim() ya que es más semántico. – bashaus

Cuestiones relacionadas