ListFindNoCase

Description

Determines the index of the first list element in which a specified value occurs.

Return value

Index of the first list element that contains value. If not found, returns zero. The search is case-insensitive.

Category

List functions

Syntax

ListFindNoCase(list, value [, delimiters ]) 

See also

ListContains, ListFind

Parameters

Parameter Description
list
A list or a variable that contains one.
value
Number or string for which to search. The search is case-insensitive.
delimiters
A string or a variable that contains one. Character(s) that separate list elements. Default: comma.
If this parameter contains more than one character, ColdFusion processes each occurrence of each character as a delimiter.

Usage

ColdFusion ignores empty list elements; thus, the list "a,b,c,,,d" has four elements.

Example

<!--- Uses ListFind and ListFindNoCase to see if a substring exists in a list ---> 
<form action="./listfind.cfm" method="POST"> 
  <p>Try changing the case in Leary's last name: 
  <br><input type="Text" size="25" name="myString" value="Leary"> 
  <p>Pick a search type: 
    <select name="type"> 
      <option value="ListFind" selected>Case-Sensitive 
      <option value="ListFindNoCase">Case-Insensitive 
    </select> 
  <input type="Submit" name="" value="Search Employee List"> 
</form> 

<!--- wait to have a string for searching defined ---> 
<cfif IsDefined("form.myString") and IsDefined("form.type")> 

<cfquery name="SearchEmpLastName" datasource="cfsnippets"> 
  SELECT  FirstName, RTrim(LastName) AS LName, Phone, Department 
  FROM    Employees 
</cfquery> 

<cfset myList = ValueList(SearchEmpLastName.LName)> 
<!--- Is this case-sensitive or case-insensitive searching ---> 
<cfif form.type is "ListFind"> 
  <cfset temp = ListFind(myList, form.myString)> 
    <cfif temp is 0> 
      <h3>An employee with that exact last name was not found</h3> 
    <cfelse> 
      <cfoutput> 
      <p>Employee #ListGetAt(ValueList(SearchEmpLastName.FirstName), temp)# 
      #ListGetAt(ValueList(SearchEmpLastName.LName), temp)#, of the
      #ListGetAt(ValueList(SearchEmpLastName.Department), temp)# Department,
      can be reached at #ListGetAt(ValueList(SearchEmpLastName.Phone), temp)#. 
      <p>This was the first employee found under this case-sensitive last name
      search. 
      </cfoutput> 
    </cfif> 
    <cfelse> 
      <cfset temp = ListFindNoCase(myList, form.myString)> 
      <cfif temp is 0> 
        <h3>An employee with that exact last name was not found</h3> 
      <cfelse> 
        <cfoutput> 
        <p>Employee #ListGetAt(ValueList(SearchEmpLastName.FirstName), temp)# 
        #ListGetAt(ValueList(SearchEmpLastName.LName), temp)#, of the
        #ListGetAt(ValueList(SearchEmpLastName.Department), temp)# Department,
        can be reached at #ListGetAt(ValueList(SearchEmpLastName.Phone), temp)#. 
        <p>This was the first employee found under this case-insensitive last
        name search. 
      </cfoutput> 
    </cfif> 
  </cfif> 
</cfif> 

Comments