.devel/sphinx/rapi/sprintf.md

sprintf: Format Strings

Description

sprintf creates strings from a given template and the arguments provided. A new function (present in C and many other languages), printf, displays formatted strings.

Usage

sprintf(fmt, ..., na_string = NA_character_)

printf(fmt, ..., file = "", sep = "\n", append = FALSE, na_string = "NA")

Arguments

| | | |----|----| | fmt | character vector of format strings | | ... | vectors with data to format (coercible to integer, real, or character) | | na_string | single string to represent missing values; if NA, missing values in ... result in the corresponding outputs be missing too | | file | see cat | | sep | see cat | | append | see cat |

Details

Note that the purpose of printf is to display a string, not to create a new one for use elsewhere, therefore this function, as an exception, treats missing values as "NA" strings.

Value

sprintf returns a character vector (in UTF-8). No attributes are preserved. printf returns \'nothing\'.

Differences from Base R

Replacement for base sprintf implemented with stri_sprintf.

Author(s)

Marek Gagolewski

See Also

The official online manual of stringx at https://stringx.gagolewski.com/

Related function(s): paste, strrep, strtrim, substr, nchar, strwrap

Examples

# UTF-8 number of bytes vs Unicode code point width:
l <- c("e", "e\u00b2", "\u03c0", "\u03c0\u00b2", "\U0001f602\U0001f603")
r <- c(exp(1), exp(2), pi, pi^2, NaN)
cat(base::sprintf("%8s=%+.3f", l, r), sep="\n")
##        e=+2.718
##      e²=+7.389
##       π=+3.142
##     π²=+9.870
## šŸ˜‚šŸ˜ƒ=NaN
cat(stringx::sprintf("%8s=%+.3f", l, r), sep="\n")
##        e=+2.718
##       e²=+7.389
##        π=+3.142
##       π²=+9.870
##     šŸ˜‚šŸ˜ƒ= NaN


gagolews/stringx documentation built on Jan. 15, 2025, 9:46 p.m.