不等於符號你好,
我有以下腳本,但它沒有選擇正確的列名稱(“Std”)。 這是腳本:
cols = dt << Get column Names();
for( i = 1, i <= N Items( cols ), i++,
if( contains( cols[i] , "Std") != 1
,
Column( dt, cols[i] ) << Set Data Type( "Character" );
Column( dt, cols[i] ) << Set Modeling Type ("Nominal")
)
);
看起來 != 不起作用。 對此有什麼幫助嗎? 謝謝
回复:不等於符號非常感謝您的快速幫助。 將 1 替換為 0 效果非常好。
回复:不等於符號我閱讀你的腳本的方式,它只會改變列的數據和建模類型立即地以“Std”開頭(例如,將修改名為“Std Dev”的列,但不會修改名為“Col Std”的列)。
Contains() 返回您指定的子字符串在字符串中的位置。如果 cols[i] = "Std Dev",Contains(cols[i],"Std") 將返回值 1。如果 cols[i] = "Col Std",則 Contains(cols[i], "Std" ) 將返回值 5,因為“Std”以字符串中的第 5 個字符開頭。僅當我嘗試名稱中不包含“Std”的列名稱時,Contains() 才會返回 0。
Contains(cols[i], "Std") != 1 將為所有不立即以“Std”開頭的列名稱返回 true。
通常,使用 Contains() 確定字符串中是否包含子字符串的方法是使用“!=0”或“">0”。將 1 切換為 0,看看是否有效。