如何在R中对字符串重新排序以遵循一致的模式

时间:2019-02-28 16:56:25

标签: r string

我有以下类型的字符串向量:2004/083.BHP2007.MAIS.00482006/0066。这些字符串中有很多不同的字符。

我希望这些字符串的表示形式保持一致,以便它们看起来像083/2004.BHP0048/2007.MAIS0066/2006

如何在不手动编码的情况下使向量中的所有字符串以这种方式出现?我知道这是一项艰巨的任务,感谢您的帮助。

谢谢。

1 个答案:

答案 0 :(得分:0)

这里有一些建议,以一致的方式对字符串进行排序或排序(例如,按字母顺序或字符数)。最后一种情况是按4位数字(即日期)开头,然后按名称排序。

  strings <- c("2004/083.BHP","2007.MAIS.0048","2006/0066","432.ABC","2008/42002","2094/31.AC")
strings <- sort(strings)
strings
strings <- strings[order(nchar(strings))]
strings
strings <- strings[order(strings,decreasing =T) ]
strings
strings <- strings[order(grepl("$\\d{4}",strings),strings,decreasing =F) ]
strings