次のように別々の部分に解析するファイル名があるとします。
nameWords = Words(name, "_")
元の名前の最初の 5 単語から短い名前を作成したいとします。
shortName = Concat Items( nameWords[{1, 2, 3, 4, 5}], "_" );期待した形式、つまり名前に 5 単語以上の名前が含まれている間は、すべてが正常に機能します。
しかし、「aaa_bbb_ccc」のような名前を取得するとすぐに (まったく予想外ですが、完全に現実です)、リストにインデックスを作成するときにエラーが発生します。
質問: 5 つではなく、5 つのうち最小の項目とリストの N 項目にインデックスを作成するにはどうすればよいですか? どちらが小さいかを調べるために IF ステートメントを書くのではなく?
を使用することもできます左()
Names Default To Here(1);
a = "1_2_3_4_5_6_7_8";
b = "1_2_3";
Show(Concat Items(Left(Words(a, "_"), 5), "_"));
Show(Concat Items(Left(Words(b, "_"), 5), "_"));
さあ、次のとおりです。
shortName = Concat Items(nameWords[1::Min(NItems(nameWords), 5)])