首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

在一组字符串中找出符合要求的字符解决思路

2012-02-05 
在一组字符串中找出符合要求的字符在一组字符串中找出符合要求的字符比如:变压器1,1层2架2排4位,Q2层4架6

在一组字符串中找出符合要求的字符
在一组字符串中找出符合要求的字符
比如:
变压器1,1层2架2排4位,Q2层4架6排7位,变压器2,变压器3,备品,15层14架26排71位,备品,组合屏AA,组合屏BB,DG1-2  

就是如何确定StrText值此时为 "2层3架1排5位 "或者 "Q2层3架1排5位 "这种样子的情况,而不是其他的象 "组合屏AA ",或者 "DG1-2 "   这样之类??


[解决办法]
dim a as integer
dim b as integer
dim c as integer
dim d as integer
dim StrText

StrText= "变压器1,1层2架2排4位,Q2层4架6排7位,变压器2,变压器3,备品,15层14架26排71位,备品,组合屏AA,组合屏BB,DG1-2 "
a=Instr(StrText, "层 ")
b=Instr(StrText, "架 ")
c=Instr(StrText, "排 ")
d=Instr(StrText, "位 ")

If a <> 0 and b <> 0 and c <> 0 and d <> 0 then
msgbox "符合 "
end if
[解决办法]
下面的函数可完成判断
判断mystr1中是否有mystr2对应的字符串
例如:mystr1= "11层22架33排44位 "
mystr2= "层架排位 "
则函数值为true

例如:mystr1= "层架排位 "
mystr2= "层架排位 "
则函数值为False


Private Function FindStr(mystr1 As String, _
mystr2) As Boolean
Dim i As Integer
Dim tempNum1 As Integer
Dim tempNum2 As Integer
Dim tempStr As String
FindStr = True
For i = 1 To Len(mystr2)
tempStr = Mid(mystr2, i, 1)
tempNum1 = InStr(1, mystr1, tempStr)
If tempNum2 <> tempNum1 - 1 Then
tempNum2 = tempNum1
Else
FindStr = False
End If
If tempNum1 = 0 Then
FindStr = False
Exit For
End If
Next i
End Function

不知是否合用?合意否???

热点排行