#r #string
#r #строка
Вопрос:
Мне было интересно, как я мог бы удалить последние несколько заглавных букв и символ «/» каждой строки наблюдения в R? Например, если у меня есть такие данные, как
PlayerFirstLastNameABC
PlayerNameAB/CDF
PlayerFirstMN
PlayerLastNameABC/RS
и так далее, как мне заставить его вернуться ко мне:
PlayerFirstLastName
PlayerName
PlayerFirst
PlayerLastName
где последняя буква строки всегда является строчной буквой? т. е. Удаляйте все концы строк, пока не нажмете строчную букву. Спасибо!
Ответ №1:
Мы можем использовать sub
from base R
для сопоставления одной или нескольких (
) прописных букв вместе с /
до конца ( $
) строки и заменить на blank ( ""
)
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")
Ответ №2:
Вы можете записывать все, вплоть до прописных букв и /
в конце строки.
sub('(.*?)[/A-Z]
, '\1', x)
#[1] "PlayerFirstLastName" "PlayerName" "PlayerFirst" "PlayerLastName"