假设我有一个文件名,我将其解析为单独的部分,如下所示:
nameWords = Words(name, "_")
假设我想用原始名称的前五个单词创建一个简短的名称:
shortName = Concat Items( nameWords[{1, 2, 3, 4, 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)])