如果列表包含列表中的 str 時出現問題:傳回錯誤列表我想從另一個列表中獲取包含 str 的文件列表,但返回為空。我做錯了什麼?有人可以建議嗎?下面是我的腳本。
filelist = Files In Directory( path );
//filelist={"123_123_1_acdr.csv", "234_113_100_rqtfgy.csv", "53_1243_12_qqwed.csv", "6_12378_23_rty.csv"}
lst1 = {"234_113_100", "53_1243_12"};
lst2 = {};
For( i = 1, i <= N Items( filelist ), i++,
If( Contains( lst1, filelist[i] ),
Insert Into( lst2, filelist[i] )
)
);
Print( lst2 );
lst2 ={"234_113_100_rqtfgy.csv", "53_1243_12_qqwed.csv"} 的預期輸出但是,輸出 lst2 為空。
自動化和腳本編寫消費者與市場研究資料存取品質和工藝工程回复:如果列表包含列表中的 str 時出現問題:返回錯誤列表謝謝 Svarga 和吉姆。 現在我明白了這個問題。回复:如果列表包含列表中的 str 時出現問題:返回錯誤列表一個簡短的建議,我喜歡在腳本索引中測試腳本。 我去了目錄中的文件示例並替換了您的值。 如果您只想使用一個 for 循環,則需要確保您的 lst1 具有完全匹配。 但是對於這個例子,你需要一個嵌套的 for 循環。 您還需要將包含參數從 lst1、filelist[i] 切換為 filelist[i]、lst[j]。
filelist = {"123_123_1_acdr.csv", "234_113_100_rqtfgy.csv",
"53_1243_12_qqwed.csv", "6_12378_23_rty.csv"};
lst1 = {"234_113_100"};
lst2 = {};
For( i = 1, i <= N Items( filelist ), i++,
For(j = 1, j <= N Items(lst1), j++,
If( Contains( filelist[i], lst1[j] ),
Insert Into( lst2, filelist[i] )
)
)
);
Print( lst2 );<BR /><BR />Result: {"234_113_100_rqtfgy.csv"}
回复:如果列表包含列表中的 str 時出現問題:返回錯誤列表如果使用 contains 搜索列表,它將只查找完全匹配項。通過搜索字符串,可以檢查部分匹配項。
//filelist = Files In Directory( path );
filelist = {"123_123_1_acdr.csv", "234_113_100_rqtfgy.csv", "53_1243_12_qqwed.csv",
"6_12378_23_rty.csv"};
lst1 = {"234_113_100", "53_1243_12"};
lst2 = {};
For( i = 1, i <= N Items( filelist ), i++,
For( k = 1, k <= N Items( lst1 ), k++,
If( Contains( filelist[i], lst1[k] ),
Insert Into( lst2, filelist[i] )
)
)
);
Print( lst2 );