簡體   English   中英

除了 R 中的特定字符串之外的所有內容的 grep 或 gsub

[英]grep or gsub for everything except a specific string in R

我正在嘗試匹配除R特定字符串之外的所有內容,並且我已經看到很多關於此的帖子暗示了negative lookaround,但我還沒有讓它起作用。

我有一個關於 SF 犯罪事件的數據集,我想對有解決方案或沒有解決方案的案件進行排序。 在解決領域,案件中列出了逮捕預定、逮捕引證、青少年預定等內容,或者沒有。 我想將所有特定解決方案(例如不同的逮捕)重新標記為“已解決”,並將實例保留為“無”。 所以,我想我可以 gsub 或 grep 不是“NONE”。

根據我在查找除一個特定字符串之外的所有字符串時所讀到的內容,我認為這會起作用:

resolution_vector = grep("^(?!NONE$).*", trainData$Resolution, fixed=TRUE)

我制作了一個向量來搜索我的訓練數據集,特別是分辨率列,並找到不是“NONE”的術語。 但是,我只得到一個空向量。

有沒有人有建議,或者知道為什么這可能不適用於 R? 或者,即使有一種方法可以只使用 gsub,我如何在 R 中為我的正則表達式說“not NONE”?

trainData$Resolution = gsub("!NONE", RESOLVED, trainData$Resolution) <<這里否定字符串的方法是什么?

根據您的解釋,您似乎根本不需要正則表達式(即gsub() )。 您可以使用!=因為您正在尋找精確字符串的所有不匹配項。 也許你想要

within(trainData, {
    ## next line only necessary if you have a factor column
    Resolution <- as.character(Resolution)
    Resolution[Resolution != "NONE"] <- "RESOLVED"
})
resolution_vector = grep("^(?!NONE$).*", trainData$Resolution, fixed=TRUE,perl=TRUE)

您需要使用選項perl=TRUE

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM