我想在特殊字符“(”和特殊字符之后“)之前在字符串中添加一些字符”“
“(”和“)”的位置从一个字符串更改为下一个字符串。
如果有帮助,我尝试了几种方法,但我不知道如何将它拼凑起来。
a <- "a(b"
grepl("[[:punct:]]", a) #special character exists
x <- "[[:punct:]]"
image <- str_extract(a, x) #extract special character
image
e.g。
"I want to go out (i.e. now). "
结果看起来像:
"I want to go out again (i.e. now) thanks."
我想在句子中添加“再次”和“谢谢”。
感谢您的帮助!
答案 0 :(得分:3)
使用str_replace
library(stringr)
str_replace("I want to go out (i.e. now).", "\\(", "again (") %>%
str_replace("\\)", ") thanks")
答案 1 :(得分:2)
我们可以使用sub
。匹配括号内的字符(包括括号),将其捕获为一个组,然后我们将其替换为再次添加&#39;然后是被捕组(\\1
)的反向引用,然后是“谢谢”
sub("(\\([^)]+\\))\\..*", "again \\1 thanks.", str1)
#[1] "I want to go out again (i.e. now) thanks."
或使用两个捕获组
sub("(\\([^)]+\\))(.*)\\s+", "again \\1 thanks\\2", str1)
#[1] "I want to go out again (i.e. now) thanks."
str1 <- "I want to go out (i.e. now). "
注意:仅使用base R