如何对字符串中的字符进行排序,例如" 5121" - > " 1125" ?
我可以使用下面的代码执行此操作但似乎太慢了:
var nonSortedString = "5121"
var sortedString = String(Array(nonSortedString.characters).sort())
答案 0 :(得分:2)
CharacterView
处理正确的复合字符并提供正确的排序(“eěf”与“efě”)。如果您对C ++处理unicode字符的方式没问题,请尝试使用其他视图,例如nonSortedString.utf16.sort()
。它应该提供类似于C ++的速度。