Ответ 1
Вы можете использовать gsub
для этого:
gsub('[[:digit:]]+', '', x)
или
gsub('[0-9]+', '', x)
# [1] "ACO" "BCKDHB" "CD"
У меня есть список буквенно-цифровых символов, которые выглядят следующим образом:
x <-c('ACO2', 'BCKDHB456', 'CD444')
Мне нужен следующий вывод:
x <-c('ACO', 'BCKDHB', 'CD')
Любые предложения?
# dput(tmp2)
structure(c(432L, 326L, 217L, 371L, 179L, 182L, 188L, 268L, 255L,...,
), class = "factor")
Вы можете использовать gsub
для этого:
gsub('[[:digit:]]+', '', x)
или
gsub('[0-9]+', '', x)
# [1] "ACO" "BCKDHB" "CD"
Решение с использованием stringi:
# your data
x <-c('ACO2', 'BCKDHB456', 'CD444')
# extract capital letters
x <- stri_extract_all_regex(x, "[A-Z]+")
# unlist, so that you have a vector
x <- unlist(x)
Решение в одной строке:
Если ваша цель - просто удалить номера, функция removeNumbers() удаляет номера из текста. Использование этого снижает риск ошибок.
library(tm)
x <-c('ACO2', 'BCKDHB456', 'CD444')
x <- removeNumbers(x)
x
[1] "ACO" "BCKDHB" "CD"