【发布时间】:2022-01-03 04:26:05
【问题描述】:
我有诸如“3_K97_T12_High_2_Apples”之类的 ID。我只想选择“T12”并将其存储在字符向量(Tiles)中,这样当我在 plot() 中使用 label = Tiles 标记我的点时,我可以在 text() 中调用它。我想只用 ID 的第三个元素(即 T12)标记每个点。
我该怎么做?
提前谢谢你!
【问题讨论】:
我有诸如“3_K97_T12_High_2_Apples”之类的 ID。我只想选择“T12”并将其存储在字符向量(Tiles)中,这样当我在 plot() 中使用 label = Tiles 标记我的点时,我可以在 text() 中调用它。我想只用 ID 的第三个元素(即 T12)标记每个点。
我该怎么做?
提前谢谢你!
【问题讨论】:
使用正则表达式提取 - 从字符串的开头 (^) 捕获不是 _ (([^_]+) 的第三组字符作为一个组,并在替换中指定反向引用 (@ 987654324@) 捕获组
Tiles <- sub("^[^_]+_[^_]+_([^_]+)_.*", "\\1", str1)
Tiles
[1] "T12"
^ - 字符串的开头
[^_]+ - 一个或多个字符不是_
_ - _
[^_]+ - 一个或多个字符不是_
_ - _
([^_]+) - 一个或多个字符不是_ 被捕获
str1 <- "3_K97_T12_High_2_Apples"
【讨论】: