在字符串开头之前涂上一层

时间:2012-09-11 02:39:53

标签: r paste sapply

所以我有一个载体

lizt <- c("a","b","c")

> lizt
[1] "a" "b" "c"

我可以使用sapply在每个元素之后粘贴字符

lizt2 <- sapply(lizt,paste0, "$", USE.NAMES=F)

lizt2
[1] "a$" "b$" "c$"

现在,我如何使用类似的功能在每个元素之前粘贴字符,所以我得到了

lizt3
[1] "^a$" "^b$" "^c$"

2 个答案:

答案 0 :(得分:11)

pastepaste0已经过矢量化,因此您不需要sapply

paste0('^', lizt, '$')
## [1] "^a$" "^b$" "^c$"

答案 1 :(得分:3)

作为mnel showed,您无需在此处使用sapply,但无论如何,您都可以创建自己的自定义函数,以便与sapply一起使用像这样:

> sapply(lizt, function(x) paste0("^", x, "$"), USE.NAMES=FALSE)
[1] "^a$" "^b$" "^c$"