我有一个字母数字字符列表,看起来像:
x <-c('ACO2', 'BCKDHB456', 'CD444')
我想要以下输出:
x <-c('ACO', 'BCKDHB', 'CD')
6ovsh4lw1#
你可以使用gsub来实现:
gsub
gsub('[[:digit:]]+', '', x)
或
gsub('[0-9]+', '', x) # [1] "ACO" "BCKDHB" "CD"
yxyvkwin2#
如果您的目标只是删除数字,那么removeNumbers()函数将从文本中删除数字。使用它可以降低出错的风险。
removeNumbers()
library(tm) x <-c('ACO2', 'BCKDHB456', 'CD444') x <- removeNumbers(x) x [1] "ACO" "BCKDHB" "CD"
ki0zmccv3#
使用stringr大多数stringr函数处理正则表达式str_replace_all将执行您需要的操作
str_replace_all(c('ACO2', 'BCKDHB456', 'CD444'), "[:digit:]", "")
jexiocij4#
使用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)
一行解决方案:
4条答案
按热度按时间6ovsh4lw1#
你可以使用
gsub
来实现:或
yxyvkwin2#
如果您的目标只是删除数字,那么
removeNumbers()
函数将从文本中删除数字。使用它可以降低出错的风险。ki0zmccv3#
使用stringr
大多数stringr函数处理正则表达式
str_replace_all将执行您需要的操作
jexiocij4#
使用stringi的解决方案:
一行解决方案: