0

在 R 中,我有表:

Field1

&&hello
&hi
Hello
Hi

如何删除以“&”开头的所有内容?

gsub("&", "", A$Field1) 

只会删除“&”,但不会删除“&&hello”或“&hi”,因为我需要它。我尝试了“&*”或“&+”,但它仍然无法正常工作。

4

2 回答 2

1

使用gsub,您需要匹配整个字符串:

gsub("^&.*", "", A$Field1)

但我发现了一个更优雅ifelse的组合:grepl

ifelse(grepl("^&", A$Field1), "", A$Field1)

如果目标是在您的数据框中替换它,那么您可以重新分配:

A$Field1 <- ifelse(grepl("^&", A$Field1), "", A$Field1)
于 2012-11-07T01:34:40.233 回答
0

我不是 100% 确定你在问什么,但如果你想删除带有 & 符号的行,你可以使用:

a <- c("&hi", "&&hello", "Hello", "Hi")

b <- a[-grep("&", a)]

> b
[1] "Hello" "Hi" 

干杯,吉姆

于 2012-11-07T01:40:25.510 回答