2015-11-04 43 views
0

這裏後,你有任何一個小謎語誰願意花一些時間就可以了:撤消錯誤的排序丟失的前導零

我有大約200文件得到了嚴重排序,並改名由於缺乏前導零的。我必須撤消此排序,並重新分配給原始值,讓我有一個這樣的順序:

current file name    original 

TimePoint1   ->   TimePoint1 
TimePoint2   ->   TimePoint10 
TimePoint3   ->   TimePoint100 
TimePoint4   ->   TimePoint101 
TimePoint5   ->   TimePoint102 
        ... 
TimePoint250   ->   TimePoint250 

我會努力上的答案,但我不想錯過任何優雅的解決方案的你可能會提供。

謝謝,玩得開心!

回答

2

你在這裏只是按字母順序排列。因此,取消這種排序的最簡單方法是再次使用該順序。我不確定你想使用哪種語言,所以這裏是一個紅寶石的例子:

a = [] 
(1..250).each{|t| a << t.to_s} # note that I am adding the *string* representation 
a.sort! 
(0...250).each do |i| 
    File.rename("TimePoint#{a[i]}", "TimePoint#{i + 1}") 
end 
+0

當然...去思考我想錯誤的軌道上:D – McMa