У меня есть такие строки, как:
'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'
Ваше здоровье!





Вы можете использовать
string <- c("THE HOUSE", "IN THE HOUSE", "THE THE HOUSE")
sub("^THE\\b\\s*", "", string)
## => [1] "HOUSE" "IN THE HOUSE" "THE HOUSE"
См. демонстрация регулярного выражения и онлайн демо R.
Подробности
^ - начало строкиTHE - буквальная подстрока\\b - граница слова (при желании вы можете оставить границу завершающего слова \\>)\\s* - 0+ пробелов.
Спасибо, это именно то, что мне было нужно. Обожаю демки!