Удаление определенного первого элемента в строке в R - PullRequest
0 голосов
/ 02 сентября 2018

У меня есть строки, такие как:

'THE HOUSE'

'IN THE HOUSE'

'THE THE HOUSE'

И я хотел бы удалить «THE», только если это происходит в первой позиции в строке.

Я знаю, как удалить «THE» с помощью:

gsub("\\<THE\\>", "",  string)

И я знаю, как схватить первое слово с помощью:

"([A-Za-z]+)" or "([[:alpha:]]+)"or "(\\w+)"

Но не знаю, как объединить два, чтобы в итоге получить:

'HOUSE'

'IN THE HOUSE'

'THE HOUSE'

ура!

1 Ответ

0 голосов
/ 02 сентября 2018

Вы можете использовать

string <- c("THE HOUSE", "IN THE HOUSE", "THE THE HOUSE")
sub("^THE\\b\\s*", "", string)
## => [1] "HOUSE"        "IN THE HOUSE" "THE HOUSE"

См. Демонстрационную версию regex и интерактивную демоверсию R .

Подробнее

  • ^ - начало строки
  • THE - буквальная подстрока
  • \\b - граница слова (вы можете оставить \\> конечную границу слова, если хотите)
  • \\s* - 0+ пробельных символов.
...