「なでしこv1」開発掲示板

なでしこv1のバグや要望を書き込む掲示板
[一覧へ] > (@543) [低] [解決]
@543■ (#1727) ファイル列挙の挙動について。 - 竜巻 (2010-08-22 04:14) /低 未処理
【症状】ファイル列挙の際の数列の扱いが不自然
【再現方法】適当な連番ファイル(test1,test2,test10,test20)をフォルダに用意してファイル列挙をするとtest1,test10,test2,test20のように列挙される。
【要望】連番ファイルを処理する際には小さい方から順に列挙しなければ連番の意味が無いので、1,2,3,,,10というふうに列挙してもらいたい。
【バージョン】1.533以下
【その他】

(#1730) ファイル名の連番のつけ方を変えるべきかと - temosy (2010-08-22 10:23) /低 ---
Windowsの並び替え機能を使っても同じ結果になると思います。
これはコンピュータの世界では仕方の無いことです。

test1→test01,test2→test02とすれば、小さい方から列挙されますので、
連番を編集するプログラムを書いてみると良いでしょう。

(#1733) Windowsの機能は… - NON (2010-08-22 23:01) /低 未処理
Vista以降(XP以降だったかな?)では1ケタ→2ケタ→3ケタ等、桁がずれた連番でもちゃんとソートしてくれるようになったので、それが当たり前だと思っている方が増えているのかもしれません。

配列数値ソートではダメっぽいので、なでしこ側での後付け修正は残念ながら1行では済まなさそうですね。カスタムソート使うしかないかな…

P.S. 状態が「---」になるのはマズい気がするのですが…

(#1735) 正規表現と配列カスタムソート - U D (2010-08-24 21:36) /低 未処理
1行では済まないですが、カスタムソートでまだどうにかなりますね。
数字が含まれない場合のソート結果は保証できませんが、まぁ工夫次第で何とでも出来ます。
適当に料理してみてください。

# ここから

ファイル名一覧とは配列 = 『test1,test2,test10,test20,a,b,c』を『,』で区切る

ファイル名一覧を『AとBに含まれる数字比較』で配列カスタムソート
表示

●含まれる数字比較({文字列}Aと{文字列}Bに)
 Aを『\d+』で正規表現マッチ。
 Xとは数値 = それ[0]
 Bを『\d+』で正規表現マッチ。
 Yとは数値 = それ[0]
 X-Yを戻す

(#1767) ありがとうございます。 - 竜巻 (2010-09-18 16:02) /低 解決
コンピュータが桁の違う数字を認識して処理しないことは知ってましたが、個人的には不便だと思うんですよね。。。
ともあれ回答ありがとうございます、是非参考にさせて頂きますね。


P.S.
返信が遅れてしまいましてすいません。

(#1727)へ返信する:

👆お手数ですが、いたずら防止のために、「真夏」の読み方を記入してください。

編集時に使うキーを入力(省略可能)

画像ファイル(最大300KB)を添付可能