Я использую библиотеку, которая добавляет к строкам цвета и стили 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')
будет выведено "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);
});
Но выход тот же...
couleurs
, а для удаления стиля я используюansi-parser
. Надеюсь, теперь стало понятнее. - person Ionică Bizău   schedule 01.07.2015I use a library that adds ANSI colors / styles to strings
И я говорю, что используя мел, вы можете удалить эти коды автоматически, если вы того пожелаете (т.е. вы можете стилизовать и автоматически удалить). - person Qix - MONICA WAS MISTREATED   schedule 01.07.2015chalk
только для раскрашивания. Насколько я вижу, для этого используетсяstrip-ansi
, и вы являетесь одним из участников. :-) Хороший! - person Ionică Bizău   schedule 01.07.2015ansi-regex
. - person Qix - MONICA WAS MISTREATED   schedule 01.07.2015strip-ansi
. Мне всегда нравились крошечные и симпатичные пакеты npm. :) - person Ionică Bizău   schedule 01.07.2015