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

问题描述 投票:0回答:1

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

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

如何在不手动编码的情况下以此方式显示此向量中的所有字符串?我理解这是一项艰巨的任务,任何帮助都表示赞赏。

先感谢您。

r string
1个回答
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
© www.soinside.com 2019 - 2024. All rights reserved.