I используйте библиотеку, которая добавляет цвета/стили ANSI к строкам. Например:
> "Hello World".rgb(255, 255, 255)
'\u001b[38;5;231mHello World\u001b[0m'
> "Hello World".rgb(255, 255, 255).bold()
'\u001b[1m\u001b[38;5;231mHello World\u001b[0m\u001b[22m'
Когда я это сделаю:
console.log('\u001b[1m\u001b[38;5;231mHello World\u001b[0m\u001b[22m')
Появится сообщение a "Hello World"
белого и полужирного.
Имея строку типа '\u001b[1m\u001b[38;5;231mHello World\u001b[0m\u001b[22m'
, как удалить эти элементы?
foo('\u001b[1m\u001b[38;5;231mHello World\u001b[0m\u001b[22m') //=> "Hello World"
Может быть, хорошее регулярное выражение? Или есть встроенная функция?
Работа, о которой я думал, заключалась в создании дочернего процесса:
require("child_process")
.exec("node -pe \"console.error('\u001b[1m\u001b[38;5;231mHello World\u001b[0m\u001b[22m')\""
, function (err, stderr, stdout) { console.log(stdout);
});
Но результат тот же...