對上一層:  模型程式語言參考手冊 > 項目串函數 >

ListFilter( )

Print this Topic Previous pageReturn to chapter overviewNext page

本函數根據一篩選條件選取項目串中的項目,以組成一新的項目串。

 

語法

ListFilter(cValueExpr,cFilterExpr,cReturnExpr,cSeparator,cSubItemSeparator)

 

參數

註釋

cValueExpr

項目串(或傳回項目串的算式)

cFilterExpr

以 ListCol( ) 及ListColVal( ) 組成的條件式。利用ListCol( ) 項目會以字串的形式作比較,利用ListColVal( ) 則項目會先化為數字然後才作比較。請參閱下面的例子以了解 ListCol( ) 和 ListColVal( ) 的使用方法。

cReturnExpr

以 ListCol( ) 及ListColVal( ) 組成的回傳值計算式。ListCol( ) 指子項目字串,ListColVal( ) 則把子項目字串化成數字。請參閱下面的例子以了解 ListCol( ) 和 ListColVal( ) 的使用方法。假如這參數省略了,系統將以完整的項目組成回傳項目串。

cSeperator

項目串的項目分隔字串(可多於一字元),預設為 ','

cSubItemSeparator

子項目串中的項目分隔字串(可多於一字元),預設為 '-'

 

回傳值

Character

 

例子

ListFilter("8,4,3,12",'ListCol( )>"3"')

傳回 '8,4'。因為若以字串的形式比較,項目串的4個項目之中,只有 '8' 和 '4' 大於 '3'('12' < '3')

 

ListFilter("8,4,3,12",'ListColVal( )>3')

傳回 '8,4,12'。因為若把文字化為數字作比較,項目串的4個項目之中,只有 3 不大於 3。

 

ListFilter("A-5,J-4,C-13,K-12",'ListCol(1)>"D"')

傳回 'J-4,K-12'。上式利用ListCol(1) 指定以第一子項目的值作篩選,在四個子項目 ('A','J','C','K') 中 'J' 和 'K' 均大於 'D',故此函數傳回 'J-4,K-12 。

 

ListFilter("A-5,J-4,C-13,K-12",'ListColVal(2)>10')

傳回 'C-13,K-12'。上式利用ListColVal(2) 指定以第二子項目的數值(化成數字)作篩選,在四個子項目 (5,4,13,12) 中 13 和 12 均大於 10,故此函數傳回 'C-13,K-12' 。

 

ListFilter("A-5,J-4,C-13,K-12",'ListColVal(2)>10','ListCol(1)')

傳回 'C,K'。如上例一樣,本算式利用ListCol(2) 指定以第二子項目的數值(化成數字)作篩選,但只傳回第一子項目,故此函數傳回 'C,K' 。

 

ListFilter("A 5 5/J 4 6/C 7 8",'ListColVal(2)+ListColVal(3)>9'

 And ListCol(1)<"D"','ListColVal(2)+ListColVal(3)',"/"," ")

傳回 '10,15'。你可以用複合的條件和運算式以組成篩選式及回傳式,在本例中 'A 5 5' 和 'C 7 8' 同時符合了 ListColVal(2)+ListColVal(3)>9(5+5>9,7+8>9)和 ListCol(1)<"D"("A"<"D","C"<"D")兩條件,故此系統從此兩項目之內傳回ListColVal(2)+ListColVal(3) 的值,即 5+5和7+8,最後組成了回傳字串 '10,15'。

 

 


Page url: http://www.racematenet.com/help/index.html?listfilter.htm