如何从左到右匹配一个字符串的部分内容?
在编程中,经常需要检查一个字符串是否包含另一个字符串的子集。通常情况下,使用 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
通过增加一个去除双引号的操作,可以确保以两种格式存储的数据库内容都能正常处理。