我有一个名为mystring. 我想通过从后向匹配第一个分隔符“_”来删除字符并获取result.
mystring<- c("apple_tar", "banana_bag_cool", "mango_mellow_yellow_sweet")
Run Code Online (Sandbox Code Playgroud)
结果
"apple" "banana_bag" "mango_mellow_yellow"
Run Code Online (Sandbox Code Playgroud)
类似的方法是将每个字符串分成两组,只提取第一个
sub("(.*)(_.*)", "\\1", mystring)
## [1] "apple" "banana_bag" "mango_mellow_yellow"
Run Code Online (Sandbox Code Playgroud)
.*将匹配任何内容并将其放入第一组,直到遇到最后一组_并将所有内容放入第二组。这种方法为您提供了更多的控制权,因为您可以通过指定\\1或\\2