gpt4 book ai didi

regex - 在 R 中使用正则表达式捕获部分字符串

转载 作者:行者123 更新时间:2023-12-02 06:56:28 25 4
gpt4 key购买 nike

我有这些字符串:

myseq <- c("ALM_GSK_LN_06.ID","AS04_LV_06.ID.png","AS04_SP_06.IP.png")

我想做的是捕捉部分序列

ALM_GSK  LN  ID
AS04 LV ID
AS04 SP IP

我试过了但是失败了:

library(stringr)
str_match(myseq, "([A-Z]+)_(LN|LV|SP)_06\\.([A-Z]+)")

产生:

     [,1]           [,2]  [,3] [,4]
[1,] "GSK_LN_06.ID" "GSK" "LN" "ID"
[2,] NA NA NA NA
[3,] NA NA NA NA
>

正确的做法是什么?

最佳答案

你很接近。这是一个小调整:

str_match(myseq, "(.+)_(LN|LV|SP)_06\\.([A-Z]+)")[, -1]

产生:

     [,1]      [,2] [,3]
[1,] "ALM_GSK" "LN" "ID"
[2,] "AS04" "LV" "ID"
[3,] "AS04" "SP" "IP"

你的不起作用,因为你的第一个标记既不匹配数字也不匹配下划线,而你需要“AS04”(数字)和“ALM_GSK”(下划线)。

关于regex - 在 R 中使用正则表达式捕获部分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30471427/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com