R正则表达式用于提取复杂字符串

农作物

我有一组混乱的字符串,如下所示。

string <- c("GRP-14994/", "GRP-7056 GRP-7036/", "grp-24263(24263)/IRGC 28588", "GRP-15916 /IRGC-42176",
            "GRP-614-250B/", "( GRP 11432)/IRGC-14570", "Tourn", "GRPP256", "Purse", "GRP-14956 Origin:", "GRP 10537", "GRP-10096 Origin: ",
            "SGRP123", "GRP1234", "AC-30009 (GRPHANA)/", "AC-3060 GRP 536-143/Old AC", "RGRPfaa/23", "/-",
            "MGR:7251/", "1216-GR-567/", "X:1 Well KGRPh", "WabGRPvea(II)", "HR33(BGRP)", "Tensor",
            "Wald", "grp12312")

我正在尝试提取GRP后跟数字的所有实例,这些实例可能由空格或“-”分隔。

我目前的尝试给我以下结果。

gsub("(.*)(\\b)(GRP)(-|\\s|)(\\d+)(\\/|\\b)(.*)","\\3\\5", string, ignore.case = T)
 [1] "GRP14994"            "GRP7056"             "grp24263"            "GRP15916"           
 [5] "GRP614"              "GRP11432"            "Tourn"               "GRPP256"            
 [9] "Purse"               "GRP14956"            "GRP10537"            "GRP10096"           
[13] "SGRP123"             "GRP1234"             "AC-30009 (GRPHANA)/" "GRP536"             
[17] "RGRPfaa/23"          "/-"                  "MGR:7251/"           "1216-GR-567/"       
[21] "X:1 Well KGRPh"      "WabGRPvea(II)"       "HR33(BGRP)"          "Tensor"             
[25] "Wald"                "grp12312"      

但是期望的输出风险

out <-  c("GRP14994", "GRP7056 GRP7036", "grp24263", "GRP15916", "GRP614250", 
"GRP11432", "", "", "", "GRP14956", "GRP10537", "GRP10096", "", 
"GRP1234", "", "GRP536143", "", "", "", "", "", "", "", "", "", 
"grp12312")

out
 [1] "GRP14994"        "GRP7056 GRP7036" "grp24263"        "GRP15916"        "GRP614250"       "GRP11432"       
 [7] ""                ""                ""                "GRP14956"        "GRP10537"        "GRP10096"       
[13] ""                "GRP1234"         ""                "GRP536143"       ""                ""               
[19] ""                ""                ""                ""                ""                ""               
[25] ""                "grp12312"    

如何修改正则表达式以获得所需的结果?

阿维纳什·拉吉(Avinash Raj)
unlist(lapply(str_extract_all(string,"[Gg][rR][pP][-\\s]?\\d+"), function (x) { gsub("[-\\s]+(\\d)", "\\1", paste(x, collapse= " "),perl=T) }))
 [1] "GRP14994"        "GRP7056 GRP7036" "grp24263"       
 [4] "GRP15916"        "GRP614"          "GRP11432"       
 [7] ""                ""                ""               
[10] "GRP14956"        "GRP10537"        "GRP10096"       
[13] "GRP123"          "GRP1234"         ""               
[16] "GRP536"          ""                ""               
[19] ""                ""                ""               
[22] ""                ""                ""               
[25] ""                "grp12312"  

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

复杂字符串的Javascript正则表达式

来自分类Dev

复杂字符串的Python正则表达式

来自分类Dev

正则表达式,RegEx,用于验证php中的复杂字符串

来自分类Dev

从(更多)复杂字符串中提取日期字符串(可能是正则表达式匹配项)

来自分类Dev

从(更多)复杂字符串中提取日期字符串(可能是正则表达式匹配项)

来自分类Dev

正则表达式提取变量字符串

来自分类Dev

正则表达式提取特定的字符串

来自分类Dev

字符串提取使用正则表达式

来自分类Dev

正则表达式提取字符串

来自分类Dev

正则表达式提取字符串

来自分类Dev

正则表达式提取子字符串

来自分类Dev

正则表达式提取字符串

来自分类Dev

提取匹配正则表达式的字符串

来自分类Dev

提取字符串正则表达式

来自分类Dev

提取子字符串正则表达式

来自分类Dev

正则表达式用于仅提取R中字符串中的字母和数字

来自分类Dev

正则表达式的替代方法,用于从字符串中提取信息

来自分类Dev

用于提取字符串前缀的正则表达式

来自分类Dev

正则表达式,用于从字符串中提取数据类型和长度

来自分类Dev

正则表达式的替代方法,用于从字符串中提取信息

来自分类Dev

Javascript正则表达式,用于提取字符串的某些部分

来自分类Dev

MySQL正则表达式或函数,用于从特定字符串中提取数字

来自分类Dev

用于在多行匹配字符串之间提取文本的正则表达式?

来自分类Dev

用于提取字符串的正则表达式以 '=' 开始,以 '\t' 结束

来自分类Dev

正则表达式,用于SimpleDateFormat字符串

来自分类Dev

用于验证字符串的正则表达式

来自分类Dev

用于字符串匹配的正则表达式

来自分类Dev

正则表达式用于解析字符串

来自分类Dev

正则表达式用于字符串替换

Related 相关文章

  1. 1

    复杂字符串的Javascript正则表达式

  2. 2

    复杂字符串的Python正则表达式

  3. 3

    正则表达式,RegEx,用于验证php中的复杂字符串

  4. 4

    从(更多)复杂字符串中提取日期字符串(可能是正则表达式匹配项)

  5. 5

    从(更多)复杂字符串中提取日期字符串(可能是正则表达式匹配项)

  6. 6

    正则表达式提取变量字符串

  7. 7

    正则表达式提取特定的字符串

  8. 8

    字符串提取使用正则表达式

  9. 9

    正则表达式提取字符串

  10. 10

    正则表达式提取字符串

  11. 11

    正则表达式提取子字符串

  12. 12

    正则表达式提取字符串

  13. 13

    提取匹配正则表达式的字符串

  14. 14

    提取字符串正则表达式

  15. 15

    提取子字符串正则表达式

  16. 16

    正则表达式用于仅提取R中字符串中的字母和数字

  17. 17

    正则表达式的替代方法,用于从字符串中提取信息

  18. 18

    用于提取字符串前缀的正则表达式

  19. 19

    正则表达式,用于从字符串中提取数据类型和长度

  20. 20

    正则表达式的替代方法,用于从字符串中提取信息

  21. 21

    Javascript正则表达式,用于提取字符串的某些部分

  22. 22

    MySQL正则表达式或函数,用于从特定字符串中提取数字

  23. 23

    用于在多行匹配字符串之间提取文本的正则表达式?

  24. 24

    用于提取字符串的正则表达式以 '=' 开始,以 '\t' 结束

  25. 25

    正则表达式,用于SimpleDateFormat字符串

  26. 26

    用于验证字符串的正则表达式

  27. 27

    用于字符串匹配的正则表达式

  28. 28

    正则表达式用于解析字符串

  29. 29

    正则表达式用于字符串替换

热门标签

归档