我试图匹配R
中除特定字符串以外的所有内容,并且我已经看到了一大堆关于negative lookaround,
的帖子,但我还没有得到了这个。
我有一个数据集来查看SF中的犯罪事件,我想对具有解决方案或不具有解决方案的案例进行排序。在决议字段中,案件列出的内容包括预订逮捕,引用逮捕,少年预订等,或者没有。我想重新审视所有具体的决议,如不同的逮捕,以及#34;已解决的"并使用" NONE"保持实例。因此。所以,我认为我可以gsub或grep for not" NONE"。
基于我在查找除一个特定字符串之外的所有字符串时所阅读的内容,我认为这样可行:
resolution_vector = grep("^(?!NONE$).*", trainData$Resolution, fixed=TRUE)
我制作一个矢量来搜索我的训练数据集,特别是分辨率列,并找到不是&#t;#34; NONE"的术语。但是,我只是得到一个空的载体。
有没有人有建议,或者知道为什么这可能不适用于R?或者,即使有办法只使用gsub,我怎么说" not NONE"我的正则表达式在R?
trainData$Resolution = gsub("!NONE", RESOLVED, trainData$Resolution) <<
在这里取消字符串的方法是什么?
答案 0 :(得分:1)
根据您的解释,您似乎根本不需要正则表达式(即gsub()
)。您可以使用!=
,因为您正在寻找精确字符串的所有不匹配项。也许你想要
within(trainData, {
## next line only necessary if you have a factor column
Resolution <- as.character(Resolution)
Resolution[Resolution != "NONE"] <- "RESOLVED"
})
答案 1 :(得分:0)
resolution_vector = grep("^(?!NONE$).*", trainData$Resolution, fixed=TRUE,perl=TRUE)
您需要使用选项perl=TRUE
。