删除 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+ 个空白字符。
我有这样的字符串:
'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 stringTHE
- 文字子串\b
- 单词边界(如果您愿意,可以保留\>
尾随单词边界)\s*
- 0+ 个空白字符。