我想知道如何删除最后几个大写字母和符号"R中每个观测字符串的?例如,如果我有这样的数据
PlayerFirstLastNameABC
PlayerNameAB/CDF
PlayerFirstMN
PlayerLastNameABC/RS
等等,我该如何将其返回给我:
PlayerFirstLastName
PlayerName
PlayerFirst
PlayerLastName
字符串的最后一个字母总是小写字母吗?即删除所有字符串的末尾,直到您找到小写字母为止。谢谢
我们可以使用base R
中的sub
来匹配一个或多个(+
(大写字母和/
,直到字符串的末尾($
(,并替换为空白(""
(
sub("[A-Z/]+$", "", v1)
#[1] "PlayerFirstLastName" "PlayerName"
#[3] "PlayerFirst" "PlayerLastName"
或使用trimws
trimws(v1, whitespace = "[A-Z/]+", which = "right")
#[1] "PlayerFirstLastName" "PlayerName"
#[3] "PlayerFirst" "PlayerLastName"
数据
v1 <- c("PlayerFirstLastNameABC", "PlayerNameAB/CDF", "PlayerFirstMN",
"PlayerLastNameABC/RS")
您可以捕获所有内容,直到大写字母和字符串末尾的/
。
sub('(.*?)[/A-Z]+$', '\1', x)
#[1] "PlayerFirstLastName" "PlayerName" "PlayerFirst" "PlayerLastName"