【发布时间】:2016-11-30 10:49:46
【问题描述】:
研究了一段时间后,我没有找到我想要的。
我想做的是在字符串中保留一个精确的模式。
这是我的例子:
text=c("hello, please keep THIS","THIS is important","all THIS should be done","not exactly This","not THHIS")
如何在所有字符串中准确获取“THIS”:
res=c("THIS","THIS","THIS","","")
我试过gsubin r,但我不知道如何匹配字符。
例如我试过:
gsub("(THIS).*", "\\1", text) # This delete all string after "THIS".
gsub(".*(THIS)", "\\1", text) # This delete all string before "THIS".
【问题讨论】:
-
你试过什么?这里的确切规则是什么?删除所有非大写字母?
-
我试过了:
gsub("(THIS).*", "\\1", text) gsub(".*(THIS)", "\\1", text) gsub(".*(THIS)|(THIS).*", "\\1", text)我发现 (THIS).* 意味着所有之后。所以我认为 .*(THIS) 是之前和.*(THIS)|(THIS).*是之前和之后 -
请解释您对问题中的这段代码有什么问题。那么,你有一些单词列表要保留吗? 具体要求是什么?
-
@Sotos,是的,我想完全匹配。
-
所以正如@Wiktor 所说,您有一些要保留的单词列表?