找回密码
 立即注册
即日起,论坛关闭新用户注册和登录,论坛相关的贴子保留查阅和下载。获得授权后,有技术问题可联系微信 13199509559 一对一解决。 2024-3-12
查看: 3394|回复: 3
打印 上一主题 下一主题

我来讲讲ASP中让Replace 替换不区分大小写的方法

2467

主题

2467

主题

2467

主题

管理员

易达创始人

Rank: 9Rank: 9Rank: 9

积分
30815
跳转到指定楼层
1#
admin_2 发表于 2014-5-24 14:35:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

我们在ASP中用Replace的时候默认是会区分大小写的,如何让Replace不区分呢?

我们先来看一看 Replace 的详细参数

描述

返回字符串,其中指定数目的某子字符串被替换为另一个子字符串。
    语法
   Replace(expression, find, replacewith[, compare[, count[, start]]])


Replace 函数的语法有以下参数:

参数 描述
expression 必选项。 字符串表达式 包含要替代的子字符串。
find 必选项。被搜索的子字符串。
replacewith 必选项。用于替换的子字符串。
start 可选项。expression 中开始搜索子字符串的位置。如果省略,默认值为 1。在和count 关联时必须用
count 可选项。执行子字符串替换的数目。如果省略,默认值为 -1,表示进行所有可能的替换。在和 start 关联时必须用。
compare 可选项。指示在计算子字符串时使用的比较类型的数值。有关数值,请参阅“设置”部分。如果省略,缺省值为 0 ,这意味着必须进行二进制比较。


设置
compare 参数可以有以下值:
常数 值 描述
vbBinaryCompare 0 执行二进制比较。
vbTextCompare 1 执行文本比较。


返回值
Replace 返回以下值:
如果 Replace 返回
expression 为零长度 零长度字符串 ("")。
expression 为 Null 错误。
find 为零长度 expression 的副本。
replacewith 为零长度 expression 的副本,其中删除了所有由 find 参数指定的内容。
start > Len(expression) 零长度字符串。
count 为 0 expression 的副本。


说明
Replace 函数的返回值是经过替换(从由 start 指定的位置开始到 expression 字符串的结尾)后的字符串,而不是原始字符串从开始至结尾的副本。


方法一: 直接用ASP自带函数replace 这也是最简单的方法


yidacms=replace(yidacms,"DF","SD",1,-1,1)

replace函数参数详解:
参数1:源字符串
参数2:要被替换的字符
参数3:新的字符。,既,要将源字符串中的某些字符,替换成新指定的字符
参数4:值为1.指定从第一个字符开始搜索该字符串
参数5:值为-1 指定每一个子串都要被替换
参数6:值为1 指定字符串的比较不区分大小写。


(高亮显示关键字)的两个函数
方法2:用正则不区分大小写替换指定字符
以下是函数源代码:

'//函数:字符串替换
'//参数:正则表达式,被替换字符串,替换字符串
Public Function ReplaceTest(patrn, mStr, replStr)
  Dim regEx
  Set regEx = New RegExp
  regEx.Pattern = patrn
  regEx.IgnoreCase = True   
  regEx.Global = True
  ReplaceTest = regEx.Replace(mStr, replStr)
  Set regEx = Nothing
End Function



Instr函数返回某字符(串)在某字符串里首次出现的位置,如果没有则返回0。它有四个参数,两个必须两个可选,如果省略了可选参数就会区分大小写。
InStr([start, ]string1, string2[, compare])
要不区分大小写应该这样写:
Instr(1,"yidacms","PP",1) 结果返回1

起作用的是后面那个1,原理同Replace函数。需要注意的是前面那个1不能省略,省略了会报错。后面的1如果为0则区分大小写。


1

主题

1

主题

1

主题

中级会员

Rank: 3Rank: 3

积分
276
2#
iiilong 发表于 2014-8-20 02:43:48 | 只看该作者
加油YIDACMS

0

主题

0

主题

0

主题

注册会员

Rank: 2

积分
57
3#
inssk 发表于 2014-9-4 15:47:04 | 只看该作者
不错,今天是开眼了

0

主题

0

主题

0

主题

中级会员

Rank: 3Rank: 3

积分
408
4#
kmbangdian 发表于 2014-9-6 10:37:50 | 只看该作者
请问,我怎么使用啊?{date}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表