coldfusion - FindNoCase 不适用于多个单词搜索
问题描述
我有一个关键字列表,我正在寻找它们在文本文件中的位置。一切都很好,直到我有一个包含多个单词的关键字。
例如,我有一个正在搜索的字符串:
你好,我是一串美妙的词,会再次让你大吃一惊。以下是一些值:
值 1:这是一个的
值 值 2:这是两个的
值 值 3:这是三个的值
所以我有一个关键字列表:list = "wonderful words, value 1, value 2, value 3"
所以我需要遍历列表并找到单词/短语,然后获取它的位置,这样我就可以执行 mid 函数来获取数据。
问题是当关键字是单词的集合时,它会被忽略。
任何帮助都会很棒。谢谢!
<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>
我试图从关键字末尾的起始位置一直到下一个关键字的开头,以获取介于两者之间的数据。就像我说的那样,在多词关键字之前一切都很好。
解决方案
推荐阅读
- azure - 在更新函数中使用时代码的不同结果
- reactjs - 一个组件中的路由,另一个组件中的链接
- python - 使用请求库将图像上传到 Django Rest Framework
- r - RStudio / R - 使列中的值与字符串完全匹配的行的新df(更快)
- python-3.x - 如何使用 pymongo 在 mongodb 上使用多个查询?
- java - java.lang.NoSuchMethodError:okhttp3.internal.Platform.log 和线程“Okhttp Dispatcher”中的异常 java.lang.NoSuchFieldError:INSTANCE
- python-3.x - PyQt5 QTimer 的问题
- powerbi - 显示没有数据的项目
- terraform - Terraform:获取状态锁时出错:ConditionalCheckFailedException
- android - 在 Exoplayer IMA 扩展中保存和恢复广告进度