【问题标题】:str_extract in a vector by position [duplicate]按位置在向量中提取str_extract [重复]
【发布时间】:2021-06-05 19:52:53
【问题描述】:

我有一个这样的向量

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。我该怎么办?

【问题讨论】:

    标签: r vector iteration


    【解决方案1】:

    使用substr,基于位置的提取应该更快、更高效。我们可以提供startstop 的位置,即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"
    

    【讨论】:

      猜你喜欢
      • 2013-12-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-14
      • 2016-06-14
      • 2014-02-23
      • 1970-01-01
      • 1970-01-01
      • 2018-09-21
      相关资源
      最近更新 更多