在R中,识别字符串中第一个字符的最佳方法是什么?

在R中,识别字符串中第一个字符的最佳方法是什么?,r,parsing,stringr,grepl,R,Parsing,Stringr,Grepl,我试图找到一种方法来循环遍历R中的一些数据,这些数据包含数字和字符,并且在找到第一个字符的地方返回后面的所有值。例如: column 000HU89 87YU899 902JUK8 result HU89 YU89 JUK8 已经尝试了stringr\u dect/grepl,但第一个字符的值本质上是未知的,因此我很难将其提取出来。我们可以使用str\u extract stringr::str_extract(x, "[A-Z].*") #[1] "HU89" "YU899"

我试图找到一种方法来循环遍历R中的一些数据,这些数据包含数字和字符,并且在找到第一个字符的地方返回后面的所有值。例如:

column 
000HU89
87YU899 
902JUK8   

result
HU89
YU89 
JUK8

已经尝试了
stringr\u dect/grepl
,但第一个字符的值本质上是未知的,因此我很难将其提取出来。

我们可以使用
str\u extract

stringr::str_extract(x, "[A-Z].*")
#[1] "HU89"  "YU899" "JUK8" 
数据

x <- c("000HU89", "87YU899", "902JUK8")
x <- c("000HU89", "87YU899", "902JUK8")
xRonak的答案很简单。
尽管我还想提供另一种方法:

column <-c("000HU89", "87YU899" ,"902JUK8")
# Get First character
first<-c(strsplit(gsub("[[:digit:]]","",column),""))[[1]][1]
# Find the location of first character
loc<-gregexpr(pattern =first,column)[[1]][1]
# Extract everything from that chacracter to the right
substring(column, loc, last = 1000000L)
列在底端R中我们可以

x <- c("000HU89", "87YU899", "902JUK8")
regmatches(x, regexpr("\\D.+", x))
# [1] "HU89"  "YU899" "JUK8" 

x我们可以使用
sub
from
base R
匹配字符串开头(
^
)的一个或多个数字(
\\d+
),并替换为空白(

数据
x
x <- c("000HU89", "87YU899", "902JUK8")