LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

asp中实现replace不区分大小写的替换方法

admin
2010年8月13日 10:10 本文热度 4708

ASP中经常会用到replace,比如在查找时,要求高度显示被查找的字符,怎么不区分大小写替换字符?下面介绍两个方法,一个是利用replace 自身函数,另一种是用正则
方法一: 直接用ASP自带函数replace 这也是最简单的方法
title=replace(title,"DF","SD",1,-1,vbTextCompare)
replace函数参数详解:
参数1:源字符串
参数2:要被替换的字符
参数3:新的字符。,既,要将源字符串中的某些字符,替换成新指定的字符
参数4:值为1.指定从第一个字符开始搜索该字符串
参数5:值为-1 指定每一个子串都要被替换
参数6:值为1 指定字符串的比较不区分大小写。
(高亮显示关键字)的两个函数
方法2:用正则不区分大小写替换指定字符
以下是函数源代码:
<%
"下面也有两种方法,大家看情况使用:)
Function Takeout(patrn,string1,colors)
’提取搜索关键字匹配文字
 Dim regEx, Match, Matches, tt    ’ 建立变量。
 Set regEx = New RegExp     ’ 建立正则表达式。
 regEx.Pattern = patrn     ’ 设置模式。
 regEx.IgnoreCase = True     ’ 设置是否区分大小写。
 regEx.Global = True      ’ 设置全局可用性。
 Set Matches = regEx.Execute(string1)   ’ 执行搜索。
 For Each Match in Matches     ’ 遍历 Matches 集合。
  RetStr = RetStr & Match.Value & " "
 Next
 
 RetStr = trim(RetStr)
 if instr(RetStr," ")>0 then
  for tt = 0 to ubound(split(RetStr," "))
 string1 = replace(string1,split(RetStr," ")(tt),""&split(RetStr," ")(tt)&"")
next
 else
 string1 = replace(string1,RetStr,""&RetStr&"")
 end if
 Takeout = string1
End Function
response.write Takeout("NAkuO.cOM", "Nakuo.com囊括网络","red")

Function Highlight(strContent,keyword) ’标记高亮关键字
  Dim RegEx 
  Set RegEx=new RegExp 
  RegEx.IgnoreCase =True ’不区分大小写
  RegEx.Global=True 
  Dim ArrayKeyword,i
  ArrayKeyword = Split(keyword," ")’用空格隔开的多关键字
  For i=0 To Ubound(ArrayKeyword)
    RegEx.Pattern="("&ArrayKeyword(i)&")"
    strContent=RegEx.Replace(strContent,"$1" ) 
  Next
  Set RegEx=Nothing 
  Highlight=strContent 
End Function
response.write Highlight("yici.net依次网","yici.net")
%>

被替换的文本的实际模式是通过 RegExp 对象的 Pattern 属性设置的。

Replace 方法返回 string1 的副本,其中的 RegExp.Pattern 文本已被替换为 string2。如果没有找到匹配的文本,将返回原来的 string1 的副本。

下面的例子说明了 Replace 方法的用法。

Function ReplaceTest(patrn, replStr)
   Dim regEx, str1                建立变量。
   str1 = "The quick brown fox jumped over the lazy dog."
   Set regEx = New RegExp                建立正则表达式。
   regEx.Pattern = patrn                设置模式。
   regEx.IgnoreCase = True                设置是否区分大小写。
   ReplaceTest = regEx.Replace(str1, replStr)          作替换。
End Function

MsgBox(ReplaceTest("fox", "cat"))             将 fox 替换为 cat。
;另外,Replace 方法在模式中替换 subexpressions 。 下面对以前示例中函数的调用,替换了原字符串中的所有字对:

MsgBox(ReplaceText("(\S+)(\s+)(\S+)", "$3$2$1"))          交换词对.

需求的脚本语言在5.0以上

Replace("Http://www.microsoft.com","http://",1,-1,vbTextCompare)

=============================================

Replace函数


描述

返回一个字符串,该字符串中指定的子字符串已被替换成另一子字符串,并且替换发生的次数也是指定的。

语法

Replace(expression, find, replacewith[, start[, count[, compare]]])

Replace函数语法有如下几部分:

部分 描述
expression 必需的。字符串表达式,包含要替换的子字符串。
find 必需的。要搜索到的子字符串。
replacewith 必需的。用来替换的子字符串。
start 可选的。在表达式中子字符串搜索的开始位置。如果忽略,假定从1开始。
count 可选的。子字符串进行替换的次数。如果忽略,缺省值是 –1,它表明进行所有可能的替换。
compare 可选的。数字值,表示判别子字符串时所用的比较方式。关于其值,请参阅“设置值”部分。


设置值

compare参数的设置值如下:

常数 值 描述
vbUseCompareOption –1 使用Option Compare语句的设置值来执行比较。
vbBinaryCompare 0 执行二进制比较。
vbTextCompare 1 执行文字比较。
vbDatabaseCompare 2 仅用于Microsoft Access。基于您的数据库的信息执行比较。


返回值

Replace的返回值如下:

如果 Replace返回值
expression长度为零 零长度字符串("")。
expression为Null 一个错误。
find长度为零 expression的复本。
replacewith长度为零 expression的复本,其中删除了所有出现的find 的字符串。
start > Len(expression) 长度为零的字符串。
count is 0 expression.的复本。


说明

Replace函数的返回值是一个字符串,但是,其中从start所指定的位置开始,到expression字符串的结尾处的一段子字符串已经发生过替换动作。并不是原字符串从头到尾的一个复制。


该文章在 2010/8/13 10:10:25 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved