strip_ctl {fansi} | R Documentation |
Strip Control Sequences
Description
Removes Control Sequences from strings. By default it will
strip all known Control Sequences, including CSI/OSC sequences, two
character sequences starting with ESC, and all C0 control characters,
including newlines. You can fine tune this behavior with the ctl
parameter.
Usage
strip_ctl(x, ctl = "all", warn = getOption("fansi.warn", TRUE), strip)
Arguments
x |
a character vector or object that can be coerced to such. |
ctl |
character, any combination of the following values (see details):
|
warn |
TRUE (default) or FALSE, whether to warn when potentially
problematic Control Sequences are encountered. These could cause the
assumptions |
strip |
character, deprecated in favor of |
Details
The ctl
value contains the names of non-overlapping subsets of the
known Control Sequences (e.g. "csi" does not contain "sgr", and "c0" does
not contain newlines). The one exception is "all" which means strip every
known sequence. If you combine "all" with any other options then everything
but those options will be stripped.
Value
character vector of same length as x with ANSI escape sequences stripped
Note
Non-ASCII strings are converted to and returned in UTF-8 encoding.
See Also
?fansi
for details on how Control Sequences are
interpreted, particularly if you are getting unexpected results,
unhandled_ctl
for detecting bad control sequences.
Examples
string <- "hello\033k\033[45p world\n\033[31mgoodbye\a moon"
strip_ctl(string)
strip_ctl(string, c("nl", "c0", "sgr", "csi", "esc")) # equivalently
strip_ctl(string, "sgr")
strip_ctl(string, c("c0", "esc"))
## everything but C0 controls, we need to specify "nl"
## in addition to "c0" since "nl" is not part of "c0"
## as far as the `strip` argument is concerned
strip_ctl(string, c("all", "nl", "c0"))