str_interp()
被 str_glue()
取代。
字符串插值是指定字符串的有用方法,该字符串取决于特定环境中的值。它允许创建字符串,与使用例如相比,它更容易读写。 paste()
或 sprintf()
。 (模板)字符串可以包含 ${expression}
或 $[format]{expression}
形式的表达式占位符,其中表达式是可以在给定环境中计算的有效 R 表达式,而 format
是可与 sprintf()
一起使用的有效格式规范。
也可以看看
str_glue()
和 str_glue_data()
用于解决同一问题的替代方法。
例子
# Using values from the environment, and some formats
user_name <- "smbache"
amount <- 6.656
account <- 1337
str_interp("User ${user_name} (account $[08d]{account}) has $$[.2f]{amount}.")
#> [1] "User smbache (account 00001337) has $6.66."
# Nested brace pairs work inside expressions too, and any braces can be
# placed outside the expressions.
str_interp("Works with } nested { braces too: $[.2f]{{{2 + 2}*{amount}}}")
#> [1] "Works with } nested { braces too: 26.62"
# Values can also come from a list
str_interp(
"One value, ${value1}, and then another, ${value2*2}.",
list(value1 = 10, value2 = 20)
)
#> [1] "One value, 10, and then another, 40."
# Or a data frame
str_interp(
"Values are $[.2f]{max(Sepal.Width)} and $[.2f]{min(Sepal.Width)}.",
iris
)
#> [1] "Values are 4.40 and 2.00."
# Use a vector when the string is long:
max_char <- 80
str_interp(c(
"This particular line is so long that it is hard to write ",
"without breaking the ${max_char}-char barrier!"
))
#> [1] "This particular line is so long that it is hard to write without breaking the 80-char barrier!"
相关用法
- R stringr str_which 查找匹配索引
- R stringr str_extract 提取完整的匹配项
- R stringr str_subset 查找匹配元素
- R stringr str_escape 转义正则表达式元字符
- R stringr str_trim 删除空格
- R stringr str_sub 使用子字符串的位置获取和设置子字符串
- R stringr str_replace_na 把NA变成“NA”
- R stringr str_trunc 将字符串截断至最大宽度
- R stringr str_match 从匹配中提取组件(捕获组)
- R stringr str_like 以与 SQL 的 LIKE 运算符相同的方式检测模式
- R stringr str_length 计算长度/宽度
- R stringr str_detect 检测是否存在匹配
- R stringr str_count 计算匹配次数
- R stringr str_split 将字符串分成几段
- R stringr str_unique 删除重复的字符串
- R stringr str_remove 删除匹配的模式
- R stringr str_pad 将字符串填充到最小宽度
- R stringr str_equal 判断两个字符串是否相等
- R stringr str_view 查看字符串和匹配项
- R stringr str_glue 用胶水插补
- R stringr str_conv 指定字符串的编码
- R stringr str_order 对字符向量进行排序、排名或排序
- R stringr str_starts 检测开始/结束时是否存在匹配
- R stringr str_c 将多个字符串连接成一个字符串
- R stringr str_wrap 将单词包装成格式良好的段落
注:本文由纯净天空筛选整理自Hadley Wickham等大神的英文原创作品 String interpolation。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。