I have IDs such as "3_K97_T12_High_2_Apples". I want to select just "T12" and store it in a character vector (Tiles) so I can call it in text() when I label my points in the plot() with label = Tiles. I want to label each point with just the 3rd element of the ID (i.e T12).
How can I do this?
Thank you in advance!
CodePudding user response:
Use a regex to extract - capture the third set of characters that are not a _ (([^_] ) from the start (^) of the string as a group and in the replacement specify the backreference (\\1) of the captured group
Tiles <- sub("^[^_] _[^_] _([^_] )_.*", "\\1", str1)
Tiles
[1] "T12"
^ - start of the string
[^_] - one or more characters not a _
_ - the _
[^_] - one or more characters not a _
_ - the _
([^_] ) - one or more characters not a _ captured
data
str1 <- "3_K97_T12_High_2_Apples"
