嗨,jsl伙計們,
有人可以評論我下面的編碼有什麼問題嗎? 我正在嘗試查找包含名為“ Dummy”的字符串的列,並嘗試將其刪除但無法正常工作。 請幫助。
名稱默認為Here(1);
dt =新表格(“示例”,
添加行(3),
新列(“ A_Dummy”,字符,“標稱”,設置值({“ xx”,“ yy”,“ zz”}))),
新列(“ B”,字符,“標稱”,設置值({“ a”,“ b”,“ c”})))),
新列(“ C_Dummy”,字符,“標稱”,設置值({“ l”,“ m”,“ n”})))));
cols = dt <<獲取列名(字符串);
如果(包含(cols,“虛擬”),
dt << Select Columns();
dt << Delete Columns());
只是添加...我問這個的原因是因為我想知道是否有一堆列名,例如50個包含“ _Dummy”的列,我如何在不命名的情況下直接刪除它通過使用已知的刪除列命令(例如“ dt <<刪除列(column(“ A_Dummy”)))”來指定特定的列名稱。 如果必須使用此命令,則必須輸入所有唯一列名稱的50倍。
包含只會給您匹配的第一個索引。 您可以在列表上循環以生成帶有要刪除的列的列表,或者在循環時刪除:
Names Default To Here( 1 );
dt = New Table( "Example",
Add Rows( 3 ),
New Column( "A_Dummy", Character, "Nominal", Set Values( {"xx", "yy", "zz"} ) ),
New Column( "B", Character, "Nominal", Set Values( {"a", "b", "c"} ) ),
New Column( "C_Dummy", Character, "Nominal", Set Values( {"l", "m", "n"} ) ));<BR />
cols = dt << get column names( string );
for(i = 1, i <= N Items(cols), i++,
If(Contains(cols[i],"Dummy"),
dt << Delete Columns(cols[i])
);
);