Обрезка новой строки из promt.get в javascript

Так что я в консоли (Rasbian Lite, если быть точным, но я думаю, что это не должно иметь значения). И я прошу пользователя моей js-программы указать некоторые данные (имя, дату рождения и т. Д.). Эти данные затем передаются в программу Python.

Проблема: попав в python, я вставляю символы новой строки в конце значений моей переменной. Я мог бы просто обрезать его в python, но я предпочитаю делать это раньше в javascript.

Вот мой код: Как вы можете видеть, я уже пытался заменить символы новой строки, что не работает.

prompt.get(['name', 'date_start', 'date_end'], function (err, result) {
    if (err) {
            return onErr(err);
    };

    console.log('Command-line input received:');
    console.log('  Name ' + result.name);
    console.log('  Start date:  ' + result.date_start);
    console.log('  End date:  ' + result.date_end);

    var PythonShell = require('python-shell');
    var pyshell = new PythonShell('new_try_crypto.py');

    pyshell.send(result.name.replace('\n', ''));
    pyshell.send(result.date_start.replace('\n', ''))
    pyshell.send(result.date_end.replace('\n', ''))

1 ответ

Решение

Использование .trim():

prompt.get(['name', 'date_start', 'date_end'], function (err, result) {
    if (err) {
            return onErr(err);
    };

    console.log('Command-line input received:');
    console.log('  Name ' + result.name);
    console.log('  Start date:  ' + result.date_start);
    console.log('  End date:  ' + result.date_end);

    var PythonShell = require('python-shell');
    var pyshell = new PythonShell('new_try_crypto.py');

    pyshell.send(result.name.trim());
    pyshell.send(result.date_start.trim())
    pyshell.send(result.date_end.trim())
};
Другие вопросы по тегам