R 中前缀的后缀和前缀到后缀的后缀

Suffix to prefix and prefix to suffix in R

我有一个字符串。

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 组:_
  • 以外的零个或多个字符
  • $ - 字符串结尾