当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R strwrap 将字符串换行以设置段落格式


R语言 strwrap 位于 base 包(package)。

说明

输入中的每个字符串首先被分成段落(或仅包含空格的行)。然后通过在单词边界处换行来格式化段落。可以独立控制换行的目标列以及段落的第一行和所有后续行的缩进。

用法

strwrap(x, width = 0.9 * getOption("width"), indent = 0,
        exdent = 0, prefix = "", simplify = TRUE, initial = prefix)

参数

x

字符向量,或可以通过 as.character 转换为字符向量的对象。

width

一个正整数,给出在输出中换行的目标列。

indent

一个非负整数,给出段落中第一行的缩进。

exdent

一个非负整数,指定段落中后续行的缩进。

prefix, initial

用作除第一行之外的每一行的前缀的字符串,其中使用initial

simplify

一个合乎逻辑的。如果是 TRUE ,结果是行文本的单个字符向量;否则,它是一个与 x 相同长度的列表,其元素是从 x 的对应元素获取的行文本的字符向量。 (因此,前一种情况的结果是通过将后者的结果去掉而获得的。)

细节

输入中的空白(空格、制表符或换行符)将被破坏。句号、问号和解释标记(被认为代表句子结尾)后的双空格被保留。目前,没有特别考虑换行符处可能的句子结尾。

缩进与前缀字符串中的字符数相关。

字符向量(如果 simplifyTRUE )或此类字符向量的列表,并保留声明的输入编码。

例子

## Read in file 'THANKS'.
x <- paste(readLines(file.path(R.home("doc"), "THANKS")), collapse = "\n")
## Split into paragraphs and remove the first three ones
x <- unlist(strsplit(x, "\n[ \t\n]*\n"))[-(1:3)]
## Join the rest
x <- paste(x, collapse = "\n\n")
## Now for some fun:
writeLines(strwrap(x, width = 60))
writeLines(strwrap(x, width = 60, indent = 5))
writeLines(strwrap(x, width = 60, exdent = 5))
writeLines(strwrap(x, prefix = "THANKS> "))

## Note that messages are wrapped AT the target column indicated by
## 'width' (and not beyond it).
## From an R-devel posting by J. Hosking <jh910@juno.com>.
x <- paste(sapply(sample(10, 100, replace = TRUE),
           function(x) substring("aaaaaaaaaa", 1, x)), collapse = " ")
sapply(10:40,
       function(m)
       c(target = m, actual = max(nchar(strwrap(x, m)))))

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Wrap Character Strings to Format Paragraphs。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。