Le cfoutput que vous attendez doit également avoir company=&state=
. Comme ils sont distincts aussi. Donc, en prenant cela en compte, vous pouvez donner à ce essayer:
<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>
Sortie:
http://website.com/abc.asp?rateTerm=&company=&mva=&pagenum=3&sortOrder=2&product=&rop=&action=SUBMIT&state=&type=298&surrYr=&contribution=&sortBy=1
Et pour préserver l'ordre dans lequel vous pouvez définir le tempStruct
comme ceci:
<cfset tempStruct = structNew()>
<cfset tempStruct = createObject("java", "java.util.LinkedHashMap").init() />
Sortie:
http://website.com/abc.asp?type=298&action=SUBMIT&product=&contribution=&rateTerm=&surrYr=&mva=&rop=&sortBy=1&sortOrder=2&pagenum=3&company=&state=
Comme vous utilisez CF10
, vous pouvez utiliser ListRemoveDuplicates aussi comme ceci:
<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>
Sortie:
http://website.com/abc.asp?type=298&action=SUBMIT&product=&contribution=&rateTerm=&surrYr=&mva=&rop=&sortBy=1&sortOrder=2&pagenum=3&company=&state=
qu'attendez-vous de la chaîne finie pour ressembler? Pouvez-vous nous montrer comment vous appelez la fonction? Quelle version de CF êtes-vous? vous pourriez être en mesure d'utiliser la fonction native [ListRemoveDuplicates] (https://wikidocs.adobe.com/wiki/display/coldfusionen/ListRemoveDuplicates) si CF 10 ou au-dessus – duncan
S'il vous plaît voir ma question Mise à jour – cfsammer
Quel est le résultat attendu par rapport à la sortie réelle dans ce que vous essayez de faire? Montrez-nous le code que vous avez utilisé. –