strtrim_ctl {fansi} | R Documentation |
One difference with base::strtrim is that all C0 control characters such as newlines, carriage returns, etc., are treated as zero width.
strtrim_ctl(x, width, warn = getOption("fansi.warn"), ctl = "all") strtrim2_ctl( x, width, warn = getOption("fansi.warn"), tabs.as.spaces = getOption("fansi.tabs.as.spaces"), tab.stops = getOption("fansi.tab.stops"), ctl = "all" ) strtrim_sgr(x, width, warn = getOption("fansi.warn")) strtrim2_sgr( x, width, warn = getOption("fansi.warn"), tabs.as.spaces = getOption("fansi.tabs.as.spaces"), tab.stops = getOption("fansi.tab.stops") )
x |
a character vector, or an object which can be coerced to a
character vector by |
width |
Positive integer values: recycled to the length of |
warn |
TRUE (default) or FALSE, whether to warn when potentially
problematic Control Sequences are encountered. These could cause the
assumptions |
ctl |
character, which Control Sequences should be treated specially. See the "_ctl vs. _sgr" section for details.
|
tabs.as.spaces |
FALSE (default) or TRUE, whether to convert tabs to
spaces. This can only be set to TRUE if |
tab.stops |
integer(1:n) indicating position of tab stops to use when converting tabs to spaces. If there are more tabs in a line than defined tab stops the last tab stop is re-used. For the purposes of applying tab stops, each input line is considered a line and the character count begins from the beginning of the input line. |
strtrim2_ctl
adds the option of converting tabs to spaces before trimming.
This is the only difference between strtrim_ctl
and strtrim2_ctl
.
The *_ctl
versions of the functions treat all Control Sequences specially
by default. Special treatment is context dependent, and may include
detecting them and/or computing their display/character width as zero. For
the SGR subset of the ANSI CSI sequences, fansi
will also parse, interpret,
and reapply the text styles they encode if needed. You can modify whether a
Control Sequence is treated specially with the ctl
parameter. You can
exclude a type of Control Sequence from special treatment by combining
"all" with that type of sequence (e.g. ctl=c("all", "nl")
for special
treatment of all Control Sequences but newlines). The *_sgr
versions
only treat ANSI CSI SGR sequences specially, and are equivalent to the
*_ctl
versions with the ctl
parameter set to "sgr".
Non-ASCII strings are converted to and returned in UTF-8 encoding. Width calculations will not work correctly with R < 3.2.2.
fansi for details on how Control Sequences are interpreted, particularly if you are getting unexpected results. strwrap_ctl is used internally by this function.
strtrim_ctl("\033[42mHello world\033[m", 6)