2012-05-10 27 views
10

Jak usunąć nową linię z danych wprowadzonych przez użytkownika w Node.js?Jak usunąć nową linię z wejścia konsoli użytkownika

Kod:

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

Powiedzmy, że wpiszesz „test” w konsoli, a następnie następuje powrócił:

You entered 'Test 
'. Some more text. 

chciałbym takie wyjście do stawienia się w jednej linii . Jak mogę to zrobić?

Odpowiedz

17

Wystarczy odciąć końcową nową linię.

Można wyciąć ostatni znak tak:

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

Albo można użyć wyrażeń regularnych:

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

Idealny. Dziękuję bardzo :) – Eleeist

12

W Windows może mieć \ r \ n tam. Więc w rdzeniu jest często wykonywana tak:

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

BTW, clientData.trim() funkcja może być przydatna również.

+0

Wolę używać metody trim(), ponieważ jest bardziej semantyczna. – bashaus

Powiązane problemy