求助高手修改VB代码。
我想再增加一个过滤。过滤这个字符(#)。这里已经过滤了@$和$%。这个#是在@$$%下面的。格式是这样的:@$$%##以下是代码IfMid(s,l,2)="@$"Then...
我想再增加一个过滤。过滤这个字符(#)。这里已经过滤了@$和$%。
这个#是在@$ $%下面的。
格式是这样的:
@$ $%
#
#
以下是代码
If Mid(s, l, 2) = "@$" Then
r = InStr(Mid(s, l), "$%")
If r > 0 Then
t = Mid(s, l + 1, r - 2)
l = l + r - 1
Form2.ForeColor = vbWhite
If Mid(s, l + 1, 1) = vbCr Then
l = l + 2
End If
End If
过滤就是不显示。就是不显示#,代码中已经不显示@$ $%了
是删除意思了。
还有。具体加在那段 展开
这个#是在@$ $%下面的。
格式是这样的:
@$ $%
#
#
以下是代码
If Mid(s, l, 2) = "@$" Then
r = InStr(Mid(s, l), "$%")
If r > 0 Then
t = Mid(s, l + 1, r - 2)
l = l + r - 1
Form2.ForeColor = vbWhite
If Mid(s, l + 1, 1) = vbCr Then
l = l + 2
End If
End If
过滤就是不显示。就是不显示#,代码中已经不显示@$ $%了
是删除意思了。
还有。具体加在那段 展开
展开全部
过滤字符用替换函数,把不要的字符串替换为空就行了。
比如要把字符串中所有的#、@$、$%去掉,可以用三行命令
r = Replace (s,"#","")
s = Replace (r,"@$","")
r = Replace (s,"$%","")
最后得到的r变量里面的字符串就没有了上面三种字符的了。
如果要替换指定位置的字符串,可以加上可选项的起始位置以及长度。
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字符串的结尾处的一段子字符串已经发生过替换动作。并不是原字符串从头到尾的一个复制。
补充例子:
Private Sub Command1_Click()
s = "@DSGDF#@$$%EREW rvcvb gt4#dsf#rtr+*-/@$gtyt$%45"
Me.Print s
r = Replace(s, "#", "")
s = Replace(r, "@$", "")
r = Replace(s, "$%", "")
Me.Print r
End Sub
效果:
执行前s = "@DSGDF#@$$%EREW rvcvb gt4#dsf#rtr+*-/@$gtyt$%45"
执行后r = "@DSGDFEREW rvcvb gt4dsfrtr+*-/gtyt45"
作用就是直接删掉过滤的字符串。
语句加在需要进行过滤字符串的位置,具体看你的整个程序而定。而你上面的语句有问题,不能理解你的做法。
比如要把字符串中所有的#、@$、$%去掉,可以用三行命令
r = Replace (s,"#","")
s = Replace (r,"@$","")
r = Replace (s,"$%","")
最后得到的r变量里面的字符串就没有了上面三种字符的了。
如果要替换指定位置的字符串,可以加上可选项的起始位置以及长度。
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字符串的结尾处的一段子字符串已经发生过替换动作。并不是原字符串从头到尾的一个复制。
补充例子:
Private Sub Command1_Click()
s = "@DSGDF#@$$%EREW rvcvb gt4#dsf#rtr+*-/@$gtyt$%45"
Me.Print s
r = Replace(s, "#", "")
s = Replace(r, "@$", "")
r = Replace(s, "$%", "")
Me.Print r
End Sub
效果:
执行前s = "@DSGDF#@$$%EREW rvcvb gt4#dsf#rtr+*-/@$gtyt$%45"
执行后r = "@DSGDFEREW rvcvb gt4dsfrtr+*-/gtyt45"
作用就是直接删掉过滤的字符串。
语句加在需要进行过滤字符串的位置,具体看你的整个程序而定。而你上面的语句有问题,不能理解你的做法。
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询