當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。