Package cli version 3.6.0
Description
这是base::substr()的颜色感知副本。它的工作原理与原来的完全相同,但保留了子字符串中的颜色。在计算字符串中的位置时,忽略ANSI转义序列。
Usage
ansi_substr(x, start, stop)
Arguments
参数【x】:字符向量,可能是ANSI样式的,或者是强制转换为字符的向量。
参数【start】:起始索引或索引,循环以匹配参数【x】的长度。
参数【stop】:结束索引或索引,循环以匹配参数【x】的长度。
Value
长度与参数【x】相同的字符向量,包含请求的子字符串。ANSI样式被保留。
Examples
> str <- paste( + col_red("red"), + "default", + col_green("green") + ) > cat(str, " ") red default green > cat(ansi_substr(str, 1, 5), " ") red d > cat(ansi_substr(str, 1, 15), " ") red default gre > cat(ansi_substr(str, 3, 7), " ") d def > substr(ansi_strip(str), 1, 5) [1] "red d" > substr(ansi_strip(str), 1, 15) [1] "red default gre" > substr(ansi_strip(str), 3, 7) [1] "d def" > str2 <- paste( + "another", + col_red("multi-", style_underline("style")), + "text" + ) > cat(str2, " ") another multi-style text > cat(ansi_substr(c(str, str2), c(3,5), c(7, 18)), sep = " ") d def her multi-styl > substr(ansi_strip(c(str, str2)), c(3,5), c(7, 18)) [1] "d def" "her multi-styl"