Sorting based on % symbol within a single cell - R
我有一个
1 | df<-as.data.frame(c('10% - 34', '15.5% - 15:4', '18% - 1n9')) |
我想在每个单元格内
我已经尝试通过
我们反转元素的正则表达式可能比拆分和重新粘贴更有效。
1 2 | sub("(.+%) - (.*)","\\\\2 - \\\\1", df[[1]]) # [1]"34 - 10%" "15:4 - 15.5%""1n9 - 18%" |
这里我们捕获
正则表达式解释由 regex101.com 提供:
-
(.+%) 是第一个捕获组;.+ 匹配任何字符(行终止符除外);+ 是一个量词。它匹配一次到无限次,尽可能多次,按需回馈(贪婪);% 从字面上匹配字符 %(区分大小写);- 与字符- 字面匹配(区分大小写) -
(.*) 是第二个捕获组;.* 匹配任何字符(行终止符除外);* 是一个量词。它在零次和无限次之间匹配,尽可能多次,根据需要回馈(贪婪)
替换字符串