在 R 中,我有表:
Field1
&&hello
&hi
Hello
Hi
如何删除以“&”开头的所有内容?
gsub("&", "", A$Field1)
只会删除“&”,但不会删除“&&hello”或“&hi”,因为我需要它。我尝试了“&*”或“&+”,但它仍然无法正常工作。
使用gsub
,您需要匹配整个字符串:
gsub("^&.*", "", A$Field1)
但我发现了一个更优雅ifelse
的组合:grepl
ifelse(grepl("^&", A$Field1), "", A$Field1)
如果目标是在您的数据框中替换它,那么您可以重新分配:
A$Field1 <- ifelse(grepl("^&", A$Field1), "", A$Field1)
我不是 100% 确定你在问什么,但如果你想删除带有 & 符号的行,你可以使用:
a <- c("&hi", "&&hello", "Hello", "Hi")
b <- a[-grep("&", a)]
> b
[1] "Hello" "Hi"
干杯,吉姆