str_extract 在向量中按位置
str_extract in a vector by position
我有一个这样的向量
cod <- c("6W41_CH", "6W41_CL" ,"6WPS_AH", "7C01_BC", "7C01_BD", "7C01_BL", "7C2L_AH", "7C2L_BI", "7C2L_CJ",
"7C8V_BA", "7C8W_BA", "7CAH_AD")
我正在进行迭代,每次我都希望 cod[i] 只包含第 6 个位置的字母。我试图使用 str_extract。我该怎么办?
使用 substr
,基于位置的提取应该更快、更有效。我们可以提供 start
和 stop
位置,即 6
substr(cod, 6, 6)
#[1] "C" "C" "A" "B" "B" "B" "A" "B" "C" "B" "B" "A"
或 str_sub
library(stringr)
str_sub(cod, 6, 6)
#[1] "C" "C" "A" "B" "B" "B" "A" "B" "C" "B" "B" "A"
如果我们需要使用 str_extract
,请指定一个正则表达式环视,说明我们需要提取 5 个字符后的下一个字符
str_extract(cod, '(?<=^.{5}).')
#[1] "C" "C" "A" "B" "B" "B" "A" "B" "C" "B" "B" "A"
我有一个这样的向量
cod <- c("6W41_CH", "6W41_CL" ,"6WPS_AH", "7C01_BC", "7C01_BD", "7C01_BL", "7C2L_AH", "7C2L_BI", "7C2L_CJ",
"7C8V_BA", "7C8W_BA", "7CAH_AD")
我正在进行迭代,每次我都希望 cod[i] 只包含第 6 个位置的字母。我试图使用 str_extract。我该怎么办?
使用 substr
,基于位置的提取应该更快、更有效。我们可以提供 start
和 stop
位置,即 6
substr(cod, 6, 6)
#[1] "C" "C" "A" "B" "B" "B" "A" "B" "C" "B" "B" "A"
或 str_sub
library(stringr)
str_sub(cod, 6, 6)
#[1] "C" "C" "A" "B" "B" "B" "A" "B" "C" "B" "B" "A"
如果我们需要使用 str_extract
,请指定一个正则表达式环视,说明我们需要提取 5 个字符后的下一个字符
str_extract(cod, '(?<=^.{5}).')
#[1] "C" "C" "A" "B" "B" "B" "A" "B" "C" "B" "B" "A"