2012-05-10 14 views
10

Come posso rimuovere una nuova riga dall'input dell'utente in Node.js?Come rimuovere la nuova riga dall'input della console utente

Il codice:

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); 

Diciamo digito "Test" nella console, quindi viene restituito il seguente:

You entered 'Test 
'. Some more text. 

Vorrei tale uscita a comparire nella singola linea . Come posso fare questo?

risposta

17

Devi solo rimuovere la nuova riga finale.

si può tagliare l'ultimo carattere in questo modo:

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

oppure è possibile utilizzare le espressioni regolari:

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

Perfetto. Grazie mille :) – Eleeist

12

In Windows si potrebbe avere \ r \ n lì. Quindi, nel nucleo si è spesso fatto del genere:

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

BTW, clientData.trim() funzione potrebbe essere utile anche.

+0

Preferisco usare il metodo trim() perché è più semantico. – bashaus

Problemi correlati