我有一个这样的字符串
x<-c("This is a test (120)")
我需要替换 test 和 ( 之间的空格,这样文本就会像这样
x<-c("This is a test(120)")
我试过这个
s<-gsub("\t\v\(", "", x)
不工作,任何输入将不胜感激。
我有一个这样的字符串
x<-c("This is a test (120)")
我需要替换 test 和 ( 之间的空格,这样文本就会像这样
x<-c("This is a test(120)")
我试过这个
s<-gsub("\t\v\(", "", x)
不工作,任何输入将不胜感激。
使用前瞻:
gsub("\\s+(?=\\()", "", x, perl=TRUE)
[1] "This is a test(120)"
答案取决于您需要的更多规格。是否要删除左括号前面的所有空格?还是只有一个?还是只在包含数字的括号前面?
一种简单的方法是使用fixed = TRUE
如下:
gsub(" (", "(", x, fixed = TRUE)
或者:
gsub(" \\(", "\\(", x)
您必须在 R 中“双重转义”。一个用于 R,一个用于正则表达式:
s <- gsub('\\s\\(', '(', x)
也就是说,根据您的具体用例,您可能希望它更健壮:
s <- gsub('(.+) \\((.+)\\)', '\\1(\\2)', x)