VB6 关于提取 指定格式字符串 的问题

比方说有一个字符串StrX="一二三反反复复DB20071103619406212弹道导弹"怎么提取中间的"DB20071103619406212"出来已知的只有"DB2... 比方说有一个字符串
StrX="一二三 反反复复DB20071103619406212弹道导弹"

怎么提取中间的"DB20071103619406212"出来

已知的只有"DB20071103619406212"的格式为

[D,d][B,b]#################

大家帮帮忙
如果
是这样呢?

我的意思是!
StrX="DB一二三 反反复复DB20071103619406212弹道导弹"

就是有一个字符串
格式是
DB开头,有可能是小写,也有可能一个大写一个小写
接下来是17个数字

这个是一个字符串的格式

这个字符串前后都有可能还有别的字符
但是特定的格式是不变的
即 DB+17个数字

我怎么才可以把他从一个 前后都有别的字符的字符串中提取出来

17个数字有可能改变
展开
 我来答
捌零老陈
2007-11-04 · TA获得超过727个赞
知道大有可为答主
回答量:1414
采纳率:100%
帮助的人:813万
展开全部
可以先用上面的办法戴取这个字母的19位.然后从第三位开始判断是不是数字型的.然后判断其数字是否正常
如果没有19位我想就不是吧]
然后后面17位有一位非数字就判断不是
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
VB妮可
2007-11-04 · TA获得超过3333个赞
知道大有可为答主
回答量:2574
采纳率:0%
帮助的人:0
展开全部
Private Sub Command1_Click()
Dim StrX$
StrX = "dB一二Db342三 反db反复复Db20071103619406212弹道导弹"
'开始,呵呵

Dim i%, a$, FindStr$
a = UCase(StrX)
For i = 0 To 9
a = Replace(a, CStr(i), "妮")
Next
i = InStr(a, "DB" & String(17, "妮"))
If i <> 0 Then FindStr = Mid(StrX, i, 19)
End Sub
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xuyile510824
2007-11-03 · TA获得超过582个赞
知道小有建树答主
回答量:557
采纳率:0%
帮助的人:598万
展开全部
运行自己看结果
Private Sub Form_Load()
Dim strx As String, s As String
strx = "一二三 反反复复DB20071103619406212弹道导弹"
s = Mid(strx, InStr(1, UCase(strx), "DB"), 19)
MsgBox s
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式