Extract names with regular expression from list .jpg files

Hi Community

Im want to extract only the names of the list files and avoid .jpg

I have problem because some string have a space between G and numbers and my regular expression don't is sensitive for this character. Others have numbers next to final letter.

library(tidyverse)
datos <- data.frame(Accesionfiles=c("G 1678.jpg", "G 2220.jpg", "G 7290E.jpg", "G 7313D.jpg", "G 7365B.jpg", 
                      "G 9399.jpg", "G 9460.jpg", "G 9535.jpg", "G 9837.jpg", "G10468.jpg", 
                      "G10483.jpg", "G10511.jpg", "G10513.jpg", "G10518.jpg", "G10526.jpg", 
                      "G10530.jpg", "G10552.jpg", "G10559.jpg", "G10560.jpg", "G10565.jpg", 
                      "G10587.jpg", "G10589.jpg", "G10590.jpg", "G10601.jpg", "G10617.jpg", 
                      "G10635.jpg", "G10659.jpg", "G10675.jpg", "G10679.jpg", "G10688.jpg", 
                      "G10718.jpg", "G10752.jpg", "G10877.jpg", "G10934.jpg", "G11701B.jpg", 
                      "G11776A.jpg", "G11782B.jpg", "G11869.jpg", "G12063B.jpg", "G12175.jpg", 
                      "G12190.jpg", "G12400A.jpg", "G12472.jpg", "G12611.jpg", "G12695.jpg", 
                      "G12705.jpg", "G13940A.jpg", "G13941.jpg", "G14059.jpg", "G14449A.jpg", 
                      "G14602.jpg", "G14674.jpg", "G15265.jpg", "G18109.jpg", "G18299.jpg", 
                      "G18735.jpg", "G19545C.jpg", "G19567A.jpg", "G19847.jpg", "G19852A.jpg", 
                      "G20364.jpg", "G21011.jpg", "G21161.jpg", "G21501.jpg", "G21973.jpg", 
                      "G23066.jpg", "G23072B.jpg", "G23076.jpg", "G23565B.jpg", "G23569A.jpg", 
                      "G23768J.jpg", "G23790.jpg", "G23793.jpg", "G23817A.jpg", "G23818D.jpg", 
                      "G23823D.jpg", "G23826D.jpg", "G23860I.jpg", "G23986C.jpg", "G24015I.jpg", 
                      "G24041C.jpg", "G24065A.jpg", "G24118.jpg", "G24533C.jpg", "G24581C.jpg", 
                      "G24707E.jpg", "G24764B.jpg", "G24764D.jpg", "G24765.jpg", "G24765V1.jpg", 
                      "G24767L.jpg", "G24941.jpg", "G26023.jpg", "G35002.jpg", "G35043.jpg", 
                      "G35047.jpg", "G35057.jpg", "G35075.jpg", "G35083.jpg", "G35086.jpg"))
# this have a problem with spaces
datos |> mutate(Accesion = str_extract(Accesionfiles, "([A-Za-z+0-9]+)(?!\\.jpg)"), .before = Accesionfiles) |> 
  mutate(Accesion_Junto= gsub("\\s+", "", Accesion));datos

#     Accesion Accesionfiles Accesion_Junto
# 1          G    G 1678.jpg              G
# 2          G    G 2220.jpg              G
# 3          G   G 7290E.jpg              G
# 4          G   G 7313D.jpg              G
# 5          G   G 7365B.jpg              G
# 6          G    G 9399.jpg              G
# 7          G    G 9460.jpg              G
# 8          G    G 9535.jpg              G
# 9          G    G 9837.jpg              G
# 10     G1046    G10468.jpg          G1046
# 11     G1048    G10483.jpg          G1048
# 12     G1051    G10511.jpg          G1051
# 13     G1051    G10513.jpg          G1051
# 14     G1051    G10518.jpg          G1051
# 15     G1052    G10526.jpg          G1052
# 16     G1053    G10530.jpg          G1053
# 17     G1055    G10552.jpg          G1055
# 18     G1055    G10559.jpg          G1055
# 19     G1056    G10560.jpg          G1056
# 20     G1056    G10565.jpg          G1056
# 21     G1058    G10587.jpg          G1058
# 22     G1058    G10589.jpg          G1058
# 23     G1059    G10590.jpg          G1059
# 24     G1060    G10601.jpg          G1060
# 25     G1061    G10617.jpg          G1061
# 26     G1063    G10635.jpg          G1063
# 27     G1065    G10659.jpg          G1065
# 28     G1067    G10675.jpg          G1067
# 29     G1067    G10679.jpg          G1067
# 30     G1068    G10688.jpg          G1068
# 31     G1071    G10718.jpg          G1071
# 32     G1075    G10752.jpg          G1075
# 33     G1087    G10877.jpg          G1087
# 34     G1093    G10934.jpg          G1093
# 35    G11701   G11701B.jpg         G11701
# 36    G11776   G11776A.jpg         G11776
# 37    G11782   G11782B.jpg         G11782
# 38     G1186    G11869.jpg          G1186
# 39    G12063   G12063B.jpg         G12063
# 40     G1217    G12175.jpg          G1217
# 41     G1219    G12190.jpg          G1219
# 42    G12400   G12400A.jpg         G12400
# 43     G1247    G12472.jpg          G1247
# 44     G1261    G12611.jpg          G1261
# 45     G1269    G12695.jpg          G1269
# 46     G1270    G12705.jpg          G1270
# 47    G13940   G13940A.jpg         G13940
# 48     G1394    G13941.jpg          G1394
# 49     G1405    G14059.jpg          G1405
# 50    G14449   G14449A.jpg         G14449
# 51     G1460    G14602.jpg          G1460
# 52     G1467    G14674.jpg          G1467
# 53     G1526    G15265.jpg          G1526
# 54     G1810    G18109.jpg          G1810
# 55     G1829    G18299.jpg          G1829
# 56     G1873    G18735.jpg          G1873
# 57    G19545   G19545C.jpg         G19545
# 58    G19567   G19567A.jpg         G19567
# 59     G1984    G19847.jpg          G1984
# 60    G19852   G19852A.jpg         G19852
# 61     G2036    G20364.jpg          G2036
# 62     G2101    G21011.jpg          G2101
# 63     G2116    G21161.jpg          G2116
# 64     G2150    G21501.jpg          G2150
# 65     G2197    G21973.jpg          G2197
# 66     G2306    G23066.jpg          G2306
# 67    G23072   G23072B.jpg         G23072
# 68     G2307    G23076.jpg          G2307
# 69    G23565   G23565B.jpg         G23565
# 70    G23569   G23569A.jpg         G23569
# 71    G23768   G23768J.jpg         G23768
# 72     G2379    G23790.jpg          G2379
# 73     G2379    G23793.jpg          G2379
# 74    G23817   G23817A.jpg         G23817
# 75    G23818   G23818D.jpg         G23818
# 76    G23823   G23823D.jpg         G23823
# 77    G23826   G23826D.jpg         G23826
# 78    G23860   G23860I.jpg         G23860
# 79    G23986   G23986C.jpg         G23986
# 80    G24015   G24015I.jpg         G24015
# 81    G24041   G24041C.jpg         G24041
# 82    G24065   G24065A.jpg         G24065
# 83     G2411    G24118.jpg          G2411
# 84    G24533   G24533C.jpg         G24533
# 85    G24581   G24581C.jpg         G24581
# 86    G24707   G24707E.jpg         G24707
# 87    G24764   G24764B.jpg         G24764
# 88    G24764   G24764D.jpg         G24764
# 89     G2476    G24765.jpg          G2476
# 90   G24765V  G24765V1.jpg        G24765V
# 91    G24767   G24767L.jpg         G24767
# 92     G2494    G24941.jpg          G2494
# 93     G2602    G26023.jpg          G2602
# 94     G3500    G35002.jpg          G3500
# 95     G3504    G35043.jpg          G3504
# 96     G3504    G35047.jpg          G3504
# 97     G3505    G35057.jpg          G3505
# 98     G3507    G35075.jpg          G3507
# 99     G3508    G35083.jpg          G3508
# 100    G3508    G35086.jpg          G3508
# this run wel but no for this rows  (G24765V1.jpg) because have extra number netx the final letter.
datos |> mutate(Accesion = str_extract(Accesionfiles, "[A-Za-z\\s]+\\s*[0-9]+[^.jpg]"), .before = Accesionfiles) |> 
  mutate(Accesion_Junto= gsub("\\s+", "", Accesion));datos


#      Accesion Accesionfiles Accesion_Junto
# 1     G 1678    G 1678.jpg          G1678
# 2     G 2220    G 2220.jpg          G2220
# 3    G 7290E   G 7290E.jpg         G7290E
# 4    G 7313D   G 7313D.jpg         G7313D
# 5    G 7365B   G 7365B.jpg         G7365B
# 6     G 9399    G 9399.jpg          G9399
# 7     G 9460    G 9460.jpg          G9460
# 8     G 9535    G 9535.jpg          G9535
# 9     G 9837    G 9837.jpg          G9837
# 10    G10468    G10468.jpg         G10468
# 11    G10483    G10483.jpg         G10483
# 12    G10511    G10511.jpg         G10511
# 13    G10513    G10513.jpg         G10513
# 14    G10518    G10518.jpg         G10518
# 15    G10526    G10526.jpg         G10526
# 16    G10530    G10530.jpg         G10530
# 17    G10552    G10552.jpg         G10552
# 18    G10559    G10559.jpg         G10559
# 19    G10560    G10560.jpg         G10560
# 20    G10565    G10565.jpg         G10565
# 21    G10587    G10587.jpg         G10587
# 22    G10589    G10589.jpg         G10589
# 23    G10590    G10590.jpg         G10590
# 24    G10601    G10601.jpg         G10601
# 25    G10617    G10617.jpg         G10617
# 26    G10635    G10635.jpg         G10635
# 27    G10659    G10659.jpg         G10659
# 28    G10675    G10675.jpg         G10675
# 29    G10679    G10679.jpg         G10679
# 30    G10688    G10688.jpg         G10688
# 31    G10718    G10718.jpg         G10718
# 32    G10752    G10752.jpg         G10752
# 33    G10877    G10877.jpg         G10877
# 34    G10934    G10934.jpg         G10934
# 35   G11701B   G11701B.jpg        G11701B
# 36   G11776A   G11776A.jpg        G11776A
# 37   G11782B   G11782B.jpg        G11782B
# 38    G11869    G11869.jpg         G11869
# 39   G12063B   G12063B.jpg        G12063B
# 40    G12175    G12175.jpg         G12175
# 41    G12190    G12190.jpg         G12190
# 42   G12400A   G12400A.jpg        G12400A
# 43    G12472    G12472.jpg         G12472
# 44    G12611    G12611.jpg         G12611
# 45    G12695    G12695.jpg         G12695
# 46    G12705    G12705.jpg         G12705
# 47   G13940A   G13940A.jpg        G13940A
# 48    G13941    G13941.jpg         G13941
# 49    G14059    G14059.jpg         G14059
# 50   G14449A   G14449A.jpg        G14449A
# 51    G14602    G14602.jpg         G14602
# 52    G14674    G14674.jpg         G14674
# 53    G15265    G15265.jpg         G15265
# 54    G18109    G18109.jpg         G18109
# 55    G18299    G18299.jpg         G18299
# 56    G18735    G18735.jpg         G18735
# 57   G19545C   G19545C.jpg        G19545C
# 58   G19567A   G19567A.jpg        G19567A
# 59    G19847    G19847.jpg         G19847
# 60   G19852A   G19852A.jpg        G19852A
# 61    G20364    G20364.jpg         G20364
# 62    G21011    G21011.jpg         G21011
# 63    G21161    G21161.jpg         G21161
# 64    G21501    G21501.jpg         G21501
# 65    G21973    G21973.jpg         G21973
# 66    G23066    G23066.jpg         G23066
# 67   G23072B   G23072B.jpg        G23072B
# 68    G23076    G23076.jpg         G23076
# 69   G23565B   G23565B.jpg        G23565B
# 70   G23569A   G23569A.jpg        G23569A
# 71   G23768J   G23768J.jpg        G23768J
# 72    G23790    G23790.jpg         G23790
# 73    G23793    G23793.jpg         G23793
# 74   G23817A   G23817A.jpg        G23817A
# 75   G23818D   G23818D.jpg        G23818D
# 76   G23823D   G23823D.jpg        G23823D
# 77   G23826D   G23826D.jpg        G23826D
# 78   G23860I   G23860I.jpg        G23860I
# 79   G23986C   G23986C.jpg        G23986C
# 80   G24015I   G24015I.jpg        G24015I
# 81   G24041C   G24041C.jpg        G24041C
# 82   G24065A   G24065A.jpg        G24065A
# 83    G24118    G24118.jpg         G24118
# 84   G24533C   G24533C.jpg        G24533C
# 85   G24581C   G24581C.jpg        G24581C
# 86   G24707E   G24707E.jpg        G24707E
# 87   G24764B   G24764B.jpg        G24764B
# 88   G24764D   G24764D.jpg        G24764D
# 89    G24765    G24765.jpg         G24765
# 90   G24765V  G24765V1.jpg        G24765V
# 91   G24767L   G24767L.jpg        G24767L
# 92    G24941    G24941.jpg         G24941
# 93    G26023    G26023.jpg         G26023
# 94    G35002    G35002.jpg         G35002
# 95    G35043    G35043.jpg         G35043
# 96    G35047    G35047.jpg         G35047
# 97    G35057    G35057.jpg         G35057
# 98    G35075    G35075.jpg         G35075
# 99    G35083    G35083.jpg         G35083
# 100   G35086    G35086.jpg         G35086

Im want to obtain something like that:

#      Accesion Accesionfiles Accesion_Junto
# 1     G 1678    G 1678.jpg          G1678
# 2     G 2220    G 2220.jpg          G2220
# 3    G 7290E   G 7290E.jpg         G7290E
# 4    G 7313D   G 7313D.jpg         G7313D
# 90   G24765V1 G24765V1.jpg        G24765V1 # I have problems with this rows
# 91   G24767L   G24767L.jpg        G24767L
# 92    G24941    G24941.jpg         G24941

Tnks

This does the job

library(tidyverse)
datos <- data.frame(Accesionfiles=c("G 1678.jpg", "G 2220.jpg", "G 7290E.jpg", "G 7313D.jpg", "G 7365B.jpg", 
                                    "G 9399.jpg", "G 9460.jpg", "G 9535.jpg", "G 9837.jpg", "G10468.jpg", 
                                    "G10483.jpg", "G10511.jpg", "G10513.jpg", "G10518.jpg", "G10526.jpg", 
                                    "G10530.jpg", "G10552.jpg", "G10559.jpg", "G10560.jpg", "G10565.jpg", 
                                    "G10587.jpg", "G10589.jpg", "G10590.jpg", "G10601.jpg", "G10617.jpg", 
                                    "G10635.jpg", "G10659.jpg", "G10675.jpg", "G10679.jpg", "G10688.jpg", 
                                    "G10718.jpg", "G10752.jpg", "G10877.jpg", "G10934.jpg", "G11701B.jpg", 
                                    "G11776A.jpg", "G11782B.jpg", "G11869.jpg", "G12063B.jpg", "G12175.jpg", 
                                    "G12190.jpg", "G12400A.jpg", "G12472.jpg", "G12611.jpg", "G12695.jpg", 
                                    "G12705.jpg", "G13940A.jpg", "G13941.jpg", "G14059.jpg", "G14449A.jpg", 
                                    "G14602.jpg", "G14674.jpg", "G15265.jpg", "G18109.jpg", "G18299.jpg", 
                                    "G18735.jpg", "G19545C.jpg", "G19567A.jpg", "G19847.jpg", "G19852A.jpg", 
                                    "G20364.jpg", "G21011.jpg", "G21161.jpg", "G21501.jpg", "G21973.jpg", 
                                    "G23066.jpg", "G23072B.jpg", "G23076.jpg", "G23565B.jpg", "G23569A.jpg", 
                                    "G23768J.jpg", "G23790.jpg", "G23793.jpg", "G23817A.jpg", "G23818D.jpg", 
                                    "G23823D.jpg", "G23826D.jpg", "G23860I.jpg", "G23986C.jpg", "G24015I.jpg", 
                                    "G24041C.jpg", "G24065A.jpg", "G24118.jpg", "G24533C.jpg", "G24581C.jpg", 
                                    "G24707E.jpg", "G24764B.jpg", "G24764D.jpg", "G24765.jpg", "G24765V1.jpg", 
                                    "G24767L.jpg", "G24941.jpg", "G26023.jpg", "G35002.jpg", "G35043.jpg", 
                                    "G35047.jpg", "G35057.jpg", "G35075.jpg", "G35083.jpg", "G35086.jpg"))

datos %>% 
    mutate(Accesion = str_remove(Accesionfiles, "\\.jpg$"),
           Accesion_Junto = str_remove_all(Accesion, "\\s"))
#>     Accesionfiles Accesion Accesion_Junto
#> 1      G 1678.jpg   G 1678          G1678
#> 2      G 2220.jpg   G 2220          G2220
#> 3     G 7290E.jpg  G 7290E         G7290E
#> 4     G 7313D.jpg  G 7313D         G7313D
#> 5     G 7365B.jpg  G 7365B         G7365B
#> 6      G 9399.jpg   G 9399          G9399
#> 7      G 9460.jpg   G 9460          G9460
#> 8      G 9535.jpg   G 9535          G9535
#> 9      G 9837.jpg   G 9837          G9837
#> 10     G10468.jpg   G10468         G10468
#> 11     G10483.jpg   G10483         G10483
#> 12     G10511.jpg   G10511         G10511
#> 13     G10513.jpg   G10513         G10513
#> 14     G10518.jpg   G10518         G10518
#> 15     G10526.jpg   G10526         G10526
#> 16     G10530.jpg   G10530         G10530
#> 17     G10552.jpg   G10552         G10552
#> 18     G10559.jpg   G10559         G10559
#> 19     G10560.jpg   G10560         G10560
#> 20     G10565.jpg   G10565         G10565
#> 21     G10587.jpg   G10587         G10587
#> 22     G10589.jpg   G10589         G10589
#> 23     G10590.jpg   G10590         G10590
#> 24     G10601.jpg   G10601         G10601
#> 25     G10617.jpg   G10617         G10617
#> 26     G10635.jpg   G10635         G10635
#> 27     G10659.jpg   G10659         G10659
#> 28     G10675.jpg   G10675         G10675
#> 29     G10679.jpg   G10679         G10679
#> 30     G10688.jpg   G10688         G10688
#> 31     G10718.jpg   G10718         G10718
#> 32     G10752.jpg   G10752         G10752
#> 33     G10877.jpg   G10877         G10877
#> 34     G10934.jpg   G10934         G10934
#> 35    G11701B.jpg  G11701B        G11701B
#> 36    G11776A.jpg  G11776A        G11776A
#> 37    G11782B.jpg  G11782B        G11782B
#> 38     G11869.jpg   G11869         G11869
#> 39    G12063B.jpg  G12063B        G12063B
#> 40     G12175.jpg   G12175         G12175
#> 41     G12190.jpg   G12190         G12190
#> 42    G12400A.jpg  G12400A        G12400A
#> 43     G12472.jpg   G12472         G12472
#> 44     G12611.jpg   G12611         G12611
#> 45     G12695.jpg   G12695         G12695
#> 46     G12705.jpg   G12705         G12705
#> 47    G13940A.jpg  G13940A        G13940A
#> 48     G13941.jpg   G13941         G13941
#> 49     G14059.jpg   G14059         G14059
#> 50    G14449A.jpg  G14449A        G14449A
#> 51     G14602.jpg   G14602         G14602
#> 52     G14674.jpg   G14674         G14674
#> 53     G15265.jpg   G15265         G15265
#> 54     G18109.jpg   G18109         G18109
#> 55     G18299.jpg   G18299         G18299
#> 56     G18735.jpg   G18735         G18735
#> 57    G19545C.jpg  G19545C        G19545C
#> 58    G19567A.jpg  G19567A        G19567A
#> 59     G19847.jpg   G19847         G19847
#> 60    G19852A.jpg  G19852A        G19852A
#> 61     G20364.jpg   G20364         G20364
#> 62     G21011.jpg   G21011         G21011
#> 63     G21161.jpg   G21161         G21161
#> 64     G21501.jpg   G21501         G21501
#> 65     G21973.jpg   G21973         G21973
#> 66     G23066.jpg   G23066         G23066
#> 67    G23072B.jpg  G23072B        G23072B
#> 68     G23076.jpg   G23076         G23076
#> 69    G23565B.jpg  G23565B        G23565B
#> 70    G23569A.jpg  G23569A        G23569A
#> 71    G23768J.jpg  G23768J        G23768J
#> 72     G23790.jpg   G23790         G23790
#> 73     G23793.jpg   G23793         G23793
#> 74    G23817A.jpg  G23817A        G23817A
#> 75    G23818D.jpg  G23818D        G23818D
#> 76    G23823D.jpg  G23823D        G23823D
#> 77    G23826D.jpg  G23826D        G23826D
#> 78    G23860I.jpg  G23860I        G23860I
#> 79    G23986C.jpg  G23986C        G23986C
#> 80    G24015I.jpg  G24015I        G24015I
#> 81    G24041C.jpg  G24041C        G24041C
#> 82    G24065A.jpg  G24065A        G24065A
#> 83     G24118.jpg   G24118         G24118
#> 84    G24533C.jpg  G24533C        G24533C
#> 85    G24581C.jpg  G24581C        G24581C
#> 86    G24707E.jpg  G24707E        G24707E
#> 87    G24764B.jpg  G24764B        G24764B
#> 88    G24764D.jpg  G24764D        G24764D
#> 89     G24765.jpg   G24765         G24765
#> 90   G24765V1.jpg G24765V1       G24765V1
#> 91    G24767L.jpg  G24767L        G24767L
#> 92     G24941.jpg   G24941         G24941
#> 93     G26023.jpg   G26023         G26023
#> 94     G35002.jpg   G35002         G35002
#> 95     G35043.jpg   G35043         G35043
#> 96     G35047.jpg   G35047         G35047
#> 97     G35057.jpg   G35057         G35057
#> 98     G35075.jpg   G35075         G35075
#> 99     G35083.jpg   G35083         G35083
#> 100    G35086.jpg   G35086         G35086

Created on 2022-12-21 with reprex v2.0.2

2 Likes

Was more easy that I think.
Tnks! men

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.

If you have a query related to it or one of the replies, start a new topic and refer back with a link.