Splits each string into words which are then arranged to form text lines of mo more than a given width.
strwrap(
x,
width = 0.9 * getOption("width"),
indent = 0,
exdent = 0,
prefix = "",
simplify = TRUE,
initial = prefix,
locale = NULL
)
| | |
|----|----|
| x | character vector whose elements are to be word-wrapped |
| width | single integer; maximal total width of the code points per line (as determined by stri_width) |
| indent | single integer; first line indentation size |
| exdent | single integer; consequent lines indentation size |
| prefix | single string; prefix for each line except the first |
| simplify | see Value |
| initial | single string; prefix for the first line |
| locale | NULL or "" for the default locale (see stri_locale_get) or a single string with a locale identifier, see stri_locale_list |
Might be useful when displaying strings using a monospaced font.
If simplify is FALSE, a list of length(x) numeric vectors is returned.
Otherwise, the function yields a character vector (in UTF-8). Note that the length of the output may be different than that of the input.
Due to this, no attributes are preserved.
Replacement for base strwrap implemented with stri_wrap.
missing values not propagated [fixed here]
some emojis, combining characters and modifiers (e.g., skin tones) are not recognised properly [fixed here]
what is considered a word does not depend on locale [fixed here - using ICU\'s word break iterators]
multiple whitespaces between words are not preserved except after a dot, question mark, or exclamation mark, which leads to two spaces inserted [changed here -- any sequence of whitespaces considered word boundaries is converted to a single space]
a greedy word wrap algorithm is used, which may lead to high raggedness [fixed here -- using the Knuth-Plass method]
D.E. Knuth, M.F. Plass, Breaking paragraphs into lines, Software: Practice and Experience 11(11), 1981, pp. 1119--1184.
The official online manual of stringx at https://stringx.gagolewski.com/
Related function(s): sprintf, trimws, nchar
strwrap(paste0(
strrep("az ", 20),
strrep("\u0105\u20AC ", 20),
strrep("\U0001F643 ", 20),
strrep("\U0001F926\U0000200D\U00002642\U0000FE0F ", 20)
), width=60)
## [1] "az az az az az az az az az az az az az az az az az az az az"
## [2] "ą€ ą€ ą€ ą€ ą€ ą€ ą€ ą€ ą€ ą€ ą€ ą€ ą€ ą€ ą€ ą€ ą€ ą€ ą€ ą€"
## [3] "🙃 🙃 🙃 🙃 🙃 🙃 🙃 🙃 🙃 🙃 🙃 🙃 🙃 🙃 🙃 🙃 🙃 🙃 🙃 🙃"
## [4] "🤦♂️ 🤦♂️ 🤦♂️ 🤦♂️ 🤦♂️ 🤦♂️ 🤦♂️ 🤦♂️ 🤦♂️ 🤦♂️ 🤦♂️ 🤦♂️ 🤦♂️ 🤦♂️ 🤦♂️ 🤦♂️ 🤦♂️ 🤦♂️ 🤦♂️ 🤦♂️"
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.