【发布时间】:2014-11-29 17:12:57
【问题描述】:
我有一些字符串
string <- "abbccc"
我想将同一字母的链替换为仅一个字母和该字母的出现次数。所以我想要这样的东西:
"ab2c3"
我使用stringi 包来执行此操作,但它并不完全像我想要的那样工作。假设我已经有了带有替换零件的向量:
vector <- c("b2", "c3")
stri_replace_all_regex(string, "([a-z])\\1{1,8}", vector)
输出:
[1] "ab2b2" "ac3c3"
我想要的输出:[1] "ab2c3"
我也试过这种方式
stri_replace_all_regex(string, "([a-z])\\1{1,8}", vector, vectorize_all=FALSE)
但我得到错误
Error in stri_replace_all_regex(string, "([a-z])\\1{1,8}", vector, vectorize_all = FALSE) :
vector length not consistent with other arguments
【问题讨论】:
-
string <- 'bbaccc'的预期输出是什么'b2ac3' -
它是
"b2ac3"。其他示例"good" --> "go2d"、"uffff" --> "uf4"。我知道如何用“新”部分而不是旧部分创建矢量,但我不知道如何正确替换它。 -
对不起,你没事。引号的类型当然无关紧要。