13

Node.jsのユーザー入力から新しい行を削除するにはどうすればよいですか?

コード:

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

コンソールに「Test」と入力すると、次のようになります。

You entered 'Test
'. Some more text.

そのような出力を1行に表示したいと思います。これどうやってするの?

4

2 に答える 2

23

末尾の改行を削除する必要があります。

あなたはこのように最後の文字を切ることができます:

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

または、正規表現を使用できます。

clientData.replace(/\n$/, '')
于 2012-05-10T17:08:03.560 に答える
20

Windowsでは、\ r\nそこにある可能性があります。したがって、コアでは、多くの場合、次のように実行されます。

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

ところで、clientData.trim()機能も役に立つかもしれません。

于 2012-05-11T07:32:35.600 に答える