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

来源:百度知道 编辑:UC知道 时间:2024/05/28 07:54:35
比方说有一个字符串
StrX="一二三 反反复复DB20071103619406212弹道导弹"

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

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

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

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

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

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

这个是一个字符串的格式

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

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

17个数字有可能改变

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

运行自己看结果
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

可以先用上面的办法戴取这个字母的19位.然后从第三位开始判断是不是数字型的.然后判断其数字是否正常
如果没有19位我想就不是吧]
然后后面17位有一位非数字就判断不是