问题描述
我有一个字符串。
String <- "like_a_butterfly_sting_like_a_bee_Float"
我可以通过在第一个下划线上旋转来使第一个前缀成为最后一个后缀。
gsub("^([^_]*)_(.*)$","\\2_\\1",String)
如何通过最后一个下划线来使最后一个后缀成为第一个前缀?
Desired result: "Float_like_a_butterfly_sting_like_a_bee"
解决方法
您可以交换第一个和第二个捕获组中的模式:
sub("^(.*)_([^_]*)$","\\2_\\1",String)
请参见regex demo
详细信息
-
^
-字符串的开头 -
(.*)
-捕获组1:尽可能多的零个或多个字符 -
_
-一个_
字符 -
([^_]*)
-捕获组2:_
以外的零个或多个字符 -
$
-字符串结尾