Удаление номеров из буквенно-цифровых символов - программирование
Подтвердить что ты не робот

Удаление номеров из буквенно-цифровых символов

У меня есть список буквенно-цифровых символов, которые выглядят следующим образом:

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")
4b9b3361

Ответ 1

Вы можете использовать gsub для этого:

gsub('[[:digit:]]+', '', x)

или

gsub('[0-9]+', '', x)
# [1] "ACO"    "BCKDHB" "CD" 

Ответ 2

Решение с использованием 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)

Решение в одной строке:

Снимок экрана в R

Ответ 3

Если ваша цель - просто удалить номера, функция removeNumbers() удаляет номера из текста. Использование этого снижает риск ошибок.

library(tm)

x <-c('ACO2', 'BCKDHB456', 'CD444') 

x <- removeNumbers(x)

x

[1] "ACO"    "BCKDHB" "CD"