关于VB或ASP的函数

请教各位VB或者ASP的大侠。我想取一个字符串中的某个特定位置的数值应该怎么取。比如我的字符串是bj="受理41件,办结35件,即办件0件"现在我就想取出中间的那个"41... 请教各位VB或者ASP的大侠。我想取一个字符串中的某个特定位置的数值应该怎么取。
比如我的字符串是
bj="受理41件,办结35件,即办件0件"
现在我就想取出中间的那个"41",应该怎么取呢。或者都需要用哪些函数呢。
这个我以前曾经弄过的,现在忘记了,请大侠们帮忙提个醒。
谢谢了。
估计用MID函数是不行的,因为有的是"41",有的可能是"4",不一定是第几个字符。我的思路是先取左面第一个","之前的字符串,然后再去掉"受理",最后再去掉"件",剩下的就是想要的了。
展开
 我来答
翼网天狼
2010-06-13 · 超过31用户采纳过TA的回答
知道答主
回答量:45
采纳率:0%
帮助的人:79.7万
展开全部
如果文本格式固定不会变可以用REPLACE把汉字全部去掉,再变成数组就方便使用了,以下为VBS的Replace用法

Replace
返回字符串,其中指定数目的某子字符串被替换为另一个子字符串。

Replace(expression, find, replacewith[, compare[, count[, start]]])
参数
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 字符串的结尾)后的字符串,而不是原始字符串从开始至结尾的副本。

下面的示例利用 Replace 函数返回字符串:

Dim MyString
MyString = Replace("XXpXXPXXp", "p", "Y") '二进制比较从字符串左端开始。返回 "XXYXXPXXY"。
MyString = Replace("XXpXXPXXp", "p", "Y", '文本比较从第三个字符开始。返回 "YXXYXXY"。3,, -1, 1)
维乐心灵音乐
2010-06-13 · TA获得超过531个赞
知道小有建树答主
回答量:1063
采纳率:50%
帮助的人:491万
展开全部
你问题补充得倒让人迷糊了。
如果你是单纯的想取到41的话就用这个。

str=mid(str,instr(str,"41"),2)

就是先返回41在str串里边的位置,再从str的那个位置上取两个字符。

如果有其它说明的话,再找我。嘻嘻。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mafan8
2010-06-13 · TA获得超过1.7万个赞
知道小有建树答主
回答量:927
采纳率:0%
帮助的人:780万
展开全部
Private Sub Command1_Click()
bj = "受理41件,办结35件,即办件0件"
Dim a() As String
Dim s As String
If InStr(bj, ",") Then s = "," Else s = "," '判断使用中文逗号还是英文逗号
a = Split(bj, s)
n = UBound(a)
ReDim Preserve a(n)
For i = 0 To n
If InStr(1, a(i), "受理") Then temp = a(i)
Next

Dim t As String
t = ""
For i = 1 To Len(temp)
b = Mid(temp, i, 1)
Select Case b
Case "0" To "9": t = t & b
End Select
Next

Print t
End Sub
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
第三人称_NM
2013-01-08 · 超过20用户采纳过TA的回答
知道答主
回答量:93
采纳率:50%
帮助的人:30.1万
展开全部
用VB的instr函数获取字符出现位置,再用mid函数就完成了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
堕落者的心
2010-06-13 · TA获得超过101个赞
知道答主
回答量:68
采纳率:0%
帮助的人:39.2万
展开全部
用Mid函数啊

例如:
A = Val(Mid(bj, 3, 2))
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式