删除 R 中字符串中的特定第一项

Removing a specific first item in a string in R

我有这样的字符串:

'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"

参见regex demo and an online R demo

详情

  • ^ - start of string
  • THE - 文字子串
  • \b - 单词边界(如果您愿意,可以保留 \> 尾随单词边界)
  • \s* - 0+ 个空白字符。