Select 来自复杂 ID 的单个元素
Select a single element from a complex ID
我有诸如“3_K97_T12_High_2_Apples”之类的 ID。我想 select 只是“T12”并将其存储在字符向量 (Tiles) 中,这样当我在 plot() 中用 label = Tiles 标记我的点时,我可以在 text() 中调用它。我想用 ID 的第三个元素(即 T12)标记每个点。
我该怎么做?
使用正则表达式提取 - 从字符串的开头 (^
) 捕获第三组不是 _
(([^_]+
) 的字符作为一个组,并且在替换中指定捕获组的反向引用(\1
)
Tiles <- sub("^[^_]+_[^_]+_([^_]+)_.*", "\1", str1)
Tiles
[1] "T12"
^
- 字符串的开头
[^_]+
- 一个或多个字符不是 _
_
- _
[^_]+
- 一个或多个字符不是 _
_
- _
([^_]+)
- 一个或多个字符未被 _
捕获
数据
str1 <- "3_K97_T12_High_2_Apples"
我有诸如“3_K97_T12_High_2_Apples”之类的 ID。我想 select 只是“T12”并将其存储在字符向量 (Tiles) 中,这样当我在 plot() 中用 label = Tiles 标记我的点时,我可以在 text() 中调用它。我想用 ID 的第三个元素(即 T12)标记每个点。
我该怎么做?
使用正则表达式提取 - 从字符串的开头 (^
) 捕获第三组不是 _
(([^_]+
) 的字符作为一个组,并且在替换中指定捕获组的反向引用(\1
)
Tiles <- sub("^[^_]+_[^_]+_([^_]+)_.*", "\1", str1)
Tiles
[1] "T12"
^
- 字符串的开头
[^_]+
- 一个或多个字符不是 _
_
- _
[^_]+
- 一个或多个字符不是 _
_
- _
([^_]+)
- 一个或多个字符未被 _
捕获
数据
str1 <- "3_K97_T12_High_2_Apples"