Hello! 欢迎来到小浪资源网!

如何高效地从左到右匹配字符串子串?


如何高效地从左到右匹配字符串子串?

如何从左到右匹配一个字符串的部分内容?

在编程中,经常需要检查一个字符串是否包含另一个字符串的子集。通常情况下,使用 instr 函数或 like 运算符可以实现此目的。然而,在某些情况下,需要从左到右匹配字符串的一部分,并且只有子串在目标字符串的左侧才算匹配。

乔治老师的代码可以从左到右匹配一部分内容,但将其改写后,只能完全匹配了。为了恢复从左到右匹配的功能,可以进行以下修改:

Dim aa, ipList, ip, found, dbIPList aa = Request.ServerVariables("REMOTE_ADDR")  ' 从数据库中获取 IP 地址列表 dbIPList = Rs("ip")  ' 为了处理两种格式的数据库内容,去除双引号 dbIPList = Replace(dbIPList, """", "")  ' 将 IP 地址列表分割为数组 ipList = Split(dbIPList, ",")  found = False  For Each ip In ipList   ' 修剪空白字符   ip = Trim(ip)    ' 检查 aa 是否包含 ip   If InStr(aa, ip) > 0 Then     found = True     Exit For   End If Next  If found Then   Response.Write "ok"   Response.End End If

通过增加一个去除双引号的操作,可以确保以两种格式存储的数据库内容都能正常处理。

相关阅读