FindNoCase无法用于多个单词搜索

时间:2019-05-24 02:29:12

标签: coldfusion

我有一个关键字列表,我正在寻找它们在文本文件中的位置。除非我有一个包含多个单词的关键字,否则一切都很好。

例如,我有一个要搜索的字符串:

  

您好,我是一连串美妙的词,它们会让您再也想不起来。以下是一些值:

     

值1:这是一个的值
  值2:这是两个的值
  值3:这是三个的值

所以我有一个关键字列表:list = "wonderful words, value 1, value 2, value 3"

因此,我需要遍历列表并找到单词/短语,然后获取其位置,以便执行中间函数来获取数据。

问题是当关键字是单词的集合时,它将被忽略。

任何帮助都会很棒。谢谢!

 <cfset stringToSearch = "INCIDENT # 12345

 LONG TERM SYS#   C12345
 REPORTED: 15:08:34 05/21/19
  Nature: MEDICAL
 Address: 34234 W Test ST; 312S
 City: Testville

 Responding Units: F32423

 Cross Streets:
 Between: Test ST & N Tester ST

 Lat= 39.429019        Lon= -86.432111

 Comments: This is a comment"> 

 <cfset list_to_search = 'INCIDENT:,LONG TERM  SYS:,REPORTED:,Nature:,Address:,City:,Responding Units:,Cross Streets:,Lat=,Lon=,Comments'>

 <cfoutput>

 <cfset x = '1'>
 <cfset last_keyword = "">
 <cfloop list="#list_to_search#" index="keyword" delimiters=",">
     <cfif #x# neq '1'>
     #x#. #last_keyword# - #keyword# <br><br>
     1st: #REFind(last_keyword,stringToSearch)#<br>
     2nd: #REFind(keyword,stringToSearch)#<br>
     #x#. #last_keyword#: #Mid(stringToSearch,       
     FindNoCase(last_keyword,stringToSearch)+len(last_keyword),   
     FindNoCase(keyword,stringToSearch)-  
     FindNoCase(last_keyword,stringToSearch))#<br><br>
    </cfif>
    <cfset last_keyword = #keyword#>
    <cfset #x# = #x# + 1>
</cfloop>

我正在尝试获得关键字结尾处的开始位置,一直到下一个关键字开头处,以获取介于两者之间的数据。就像我说的,直到多词关键字,一切都很好。

0 个答案:

没有答案