2015-04-29 11 views
1

從列表中刪除重複我有以下字符串,但以前我用這個字符串,我想從中刪除重複:在CF10

http://website.com/abc.asp?type=298&action=SUBMIT&product=&contribution=&rateTerm=&surrYr=&mva=&rop=&sortBy=1&sortOrder=2&pagenum=3&company=&product=&state=&contribution=&rateTerm=&surrYr=&mva=&rop= 

我嘗試使用cflib功能listRemoveDuplicates,但似乎沒有解決這個問題。

它應該看起來像:

http://website.com/abc.asp?type=298&action=SUBMIT&product=&contribution=&rateTerm=&surrYr=&mva=&rop=&sortBy=1&sortOrder=2&pagenum=3 

我使用的CF10。

+1

你有什麼期望完成的字符串是什麼樣子?你能告訴我們你是如何調用這個函數的嗎?你在哪個版本的CF上;如果CF 10或更高版本,您可以使用原生[ListRemoveDuplicates](https://wikidocs.adobe.com/wiki/display/coldfusionen/ListRemoveDuplicates)函數 – duncan

+0

請參閱我的更新問題 – cfsammer

+1

與你正在嘗試做什麼的實際輸出?向我們展示您使用的代碼。 –

回答

1

您所期待的cfoutput也應該有company=&state=。因爲它們也不同。因此,在考慮採取這個,你可以試試這個:

<cfset url = "http://website.com/abc.asp?type=298&action=SUBMIT&product=&contribution=&rateTerm=&surrYr=&mva=&rop=&sortBy=1&sortOrder=2&pagenum=3&company=&product=&state=&contribution=&rateTerm=&surrYr=&mva=&rop="> 

<!--- Get domain name and query string ---> 
<cfset domainName = listGetAt(url , 1, "?")> 
<cfset queryString = listGetAt(url , 2, "?")> 
<cfset tempStruct = structNew()> 
<cfloop list="#queryString#" index="currentString" delimiters="&"> 
    <cfset tempStruct[ currentString ] = ""> 
</cfloop> 
<cfset queryString = structKeyList(tempStruct,"&")> 
<cfset newUrl = domainName & "?" & queryString> 

輸出

http://website.com/abc.asp?rateTerm=&company=&mva=&pagenum=3&sortOrder=2&product=&rop=&action=SUBMIT&state=&type=298&surrYr=&contribution=&sortBy=1 

,並保留順序可以定義tempStruct這樣的:

<cfset tempStruct = structNew()> 
<cfset tempStruct = createObject("java", "java.util.LinkedHashMap").init() /> 

輸出

http://website.com/abc.asp?type=298&action=SUBMIT&product=&contribution=&rateTerm=&surrYr=&mva=&rop=&sortBy=1&sortOrder=2&pagenum=3&company=&state= 

當您使用CF10那麼你可以使用ListRemoveDuplicates也是這樣:

<cfset url = "http://website.com/abc.asp?type=298&action=SUBMIT&product=&contribution=&rateTerm=&surrYr=&mva=&rop=&sortBy=1&sortOrder=2&pagenum=3&company=&product=&state=&contribution=&rateTerm=&surrYr=&mva=&rop="> 

<!--- Get domain name and query string ---> 
<cfset domainName = listGetAt(url , 1, "?")> 
<cfset queryString = listGetAt(url , 2, "?")> 
<cfset queryString = listRemoveDuplicates(queryString, "&")> 
<cfset newUrl = domainName & "?" & queryString> 

輸出

http://website.com/abc.asp?type=298&action=SUBMIT&product=&contribution=&rateTerm=&surrYr=&mva=&rop=&sortBy=1&sortOrder=2&pagenum=3&company=&state= 
相關問題