首页 > 解决方案 > 如何根据 R 中某个字符模式之后出现的分隔符拆分以下字符串向量?

问题描述

这是向量的一个示例: strings<- (c("SPG_L_SPG_R", "SAS_SPG_R_SFG_L", "s_cere_R_SPG_L" )) 我需要拆分字符串"SPG_L", "SPG_R","SAS_SPG_R", "SFG_L", "s_cere_R", "SPG_L"

我想在“_L”或“_R”之后的“_”处拆分字符串

我知道有一种使用正则表达式拆分字符串的方法,然后我想使用应用函数将字符串拆分函数应用于整个向量。我已经在论坛中搜索示例来帮助我做到这一点,但我仍然在苦苦挣扎。任何帮助表示赞赏!

标签: rregexstringrstringi

解决方案


使用肯定的后向断言,我们可以在_R 或 L 之前分割

stringr::str_split(strings, '(?<=[RL])_', simplify = TRUE)
     [,1]        [,2]   
[1,] "SPG_L"     "SPG_R"
[2,] "SAS_SPG_R" "SFG_L"
[3,] "s_cere_R"  "SPG_L"

推荐阅读