У меня есть данные в этом формате:
Name Number
1 The Beatles 100
2 Rolling Stones, The 100
3 Puff The Magic Dragon 100
4 The Offspring 100
df <- data.frame(stringsAsFactors=FALSE,
Name = c("The Beatles", "Rolling Stones, The", "Puff The Magic Dragon",
"The Offspring"),
Number = c(100L, 100L, 100L, 100L)
)
Я хотел бы удалить:
- «The», когда оно в начале. Так что "Битлз" должны быть "Битлз"
- "," когда это в конце. Так что «Роллинг Стоунз» должно быть «Роллинг Стоунз».
Но я бы хотел уйти:
- "Puff The Magic Dragon" следует оставить в покое.
Это то, что я пробовал, но оно вытесняет из «Пыхтя Волшебного Дракона» то, что я не хочу.
library(stringr)
df$Name <- str_replace(string = df$Name, "\\, The", "")
df$Name <- str_replace(string = df$Name, "The", "")
Даёт это:
Name Number
1 Beatles 100
2 Rolling Stones 100
3 Puff Magic Dragon 100
4 Offspring 100
В то время как мой желаемый результат:
Name Number
1 Beatles 100
2 Rolling Stones 100
3 Puff The Magic Dragon 100
4 Offspring 100