- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
This question可能在 stringr::str_replace_all
有该选项(或众所周知)之前正在寻求类似的答案。我使用 str_replace_all
复制下面答案的要点。
tr <- c("whatevs_1", "something_52", "whatevs_1something_52")
tr
#> [1] "whatevs_1" "something_52" "whatevs_1something_52"
patterns <- sprintf('_%s$', c('1','14','22','50','52','57','76','1018','2001','3301','6005'))
replacements <- sprintf('_%s' , c('R','I', 'P', 'O', 'C', 'D', 'M', 'L', 'S', 'K', 'G'))
names(replacements) <- patterns
stringr::str_replace_all(tr, replacements)
#> [1] "whatevs_R" "something_C" "whatevs_1something_C"
如何在基础 R 中实现上述目标?
提供的最佳选项是 for 循环。只是想知道是否有人同时想到了更好的选择。
最佳答案
我们可以使用来自 base R
的 for
循环和 gsub
,因为参数未矢量化,即 ?gsub
pattern - If a character vector of length 2 or more is supplied, the first element is used with a warning. Missing values are allowed except for regexpr, gregexpr and regexec.
replacement - If a character vector of length 2 or more is supplied, the first element is used with a warning. If NA, all elements in the result corresponding to matches will be set to NA.
因此,带有递归赋值的 for
循环可能是更好的选择
for(i in seq_along(patterns)) tr <- gsub(patterns[i], replacements[i], tr)
tr
#[1] "whatevs_R" "something_C" "whatevs_1something_C"
关于r - stringr::str_replace_all 的基本 R 替代方案,带有 c(pattern1 = replacement1) 选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65571266/
我有以下 df library(tidyverse) a % str_replace_all(pattern = dict) 但该代码不适用于所有字符串,例如委内瑞拉 (República Boliv
我有以下 df library(tidyverse) a % str_replace_all(pattern = dict) 但该代码不适用于所有字符串,例如委内瑞拉 (República Boliv
这是我的代码: df % filter(conditions x, y, and z) %>% str_replace_all(string, pattern, replacement) 这样
我有一个数据框,其中每个条目都是一些字符串,用逗号分隔。我想要一种巧妙的方法来按位置替换每个元素。 这是数据的玩具版本 library(tidyverse) d1 % modify_at(1:2
假设我有一个长字符串:pneumonoultramicroscopicsilicovolcanoconiosis。我想使用 stringr::str_replace_all用其他字母替换某些字母。根据
我在使用 stringr::str_replace_all 函数时遇到问题。我正在尝试将 iv 的所有实例替换为 insuredvehicle,但该函数似乎只包含第一个术语。 temp_data <-
我正在使用 readLines() 将 .csv 文件作为字符串加载到 R 上。其中一列包含带有不想要的换行符的推文。 我需要删除换行符。在 Notepad++ 中,搜索:\r\n并替换为 %%%工作
我正在尝试使用 str_replace_all 用一个一致的字符串(即“主持人:”)替换许多不同的值(即“Mod”、“M2”、“M3”、“Interviewer”)。我正在用多个不同的类别来做这个,我
我有一个字符串,想将两个小写单词大写。以下实现了我想要的: library(tidyverse) "this is a test" %>% str_replace_all("this", toup
我正在从 R 过渡到 Python,并有一个示例数据框,如下所示: df = df = pd.DataFrame({'characterisitics': pd.Series(['Walter Whi
这个问题在这里已经有了答案: R/regex with stringi/ICU: why is a '+' considered a non-[:punct:] character? (2 个回答)
This question可能在 stringr::str_replace_all 有该选项(或众所周知)之前正在寻求类似的答案。我使用 str_replace_all 复制下面答案的要点。 tr
我是一名优秀的程序员,十分优秀!