asp 标记字符串中指定字符变色不区分大小写
今天遇到了一个问题,单纯使用replace函数无法达到预期的效果,因为它会改变原有字符串中的大小写格式。于是我找到了相关的代码并进行了备份。
对于普通的替换函数,代码是这样的:
```vbscript
public function HighLight(S, F)
dim tL, tM, tR, k
tL = ""
tM = ""
tR = S
k = instr(1, tR, F, 1)
do while k > 0
tL = tL & left(tR, k-1)
tM = mid(tR, k, len(F))
tL = tL & "" & tM & ""
tR = right(tR, Len(tR)-len(F)-k+1)
k = instr(1, tR, F, 1)
loop
HighLight = tL & tR
end function
```
此函数可以将字符串S中的子字符串F高亮显示为红色。例如,对于输入字符串`abcaBcabCaBCabcaBCa`和高亮字符串`bc`,该函数会将其中的每个`bc`都高亮显示为红色。但是需要注意的是,由于使用了普通的替换函数,它会在处理过程中改变原有字符串的大小写格式。在某些情况下可能需要额外的处理来保持原始的大小写格式。然而这种处理方式会稍显复杂且代码可能会更加冗长。另一种解决方案是使用正则表达式进行替换操作。正则表达式的代码如下:
```vbscript
Function HighLight(S, F)
Dim regEx
Set regEx = New RegExp
regEx.IgnoreCase = True
regEx.Global = True
regEx.Pattern = "(" & F & ")"
HighLight = regEx.Replace(S,"$1")
End Function
Response.write HighLight("abcaBcabCaBCabcaBCa","bc")
``` 这个版本的代码通过使用正则表达式实现了替换功能并且保持了原有字符串的大小写格式不变。它使用正则表达式匹配到需要替换的字符串,并将其高亮显示为红色,同时不会改变其他部分的大小写格式。这种方式更为灵活且高效。这段代码能够很好地解决今天遇到的问题。
编程语言
- asp 标记字符串中指定字符变色不区分大小写
- 判断是否存在子节点的实现代码
- JavaScript中Textarea滚动条不能拖动的解决方法
- 详解Vuex中mapState的具体用法
- javascript正则表达式之search()用法实例
- asp.net在事件中启动线程来打开一个页面的实现方
- SQL中函数 replace 的参数1的数据类型ntext无效的解
- 在laravel-admin中列表中禁止某行编辑、删除的方法
- JS实现定时自动关闭DIV层提示框的方法
- jQuery的extend方法【三种】
- jQuery中常用动画效果函数(日常整理)
- AJAX跳转路径代码
- Sql Server 如何去掉内容里面的Html标签
- php实现smarty模板无限极分类的方法
- angular中使用路由和$location切换视图
- PHP判断远程图片或文件是否存在的实现代码