定义一个strTemp=UCASE(sourcestring)定义一个数组,存储各个abc出现的位置,然后midintArray(index)=instr(strTemp,"ABC")
解决方案 »
- access vba 图表
- 求教!这样的筛选查询该如何编写呀?请附源码,谢谢!
- 微软没有说怎么办的问题,怎么解决呢?
- 一个对合并单元格操作的问题
- 如何过滤网站呢?
- 为什么??
- 用winsock能否检测出局域网中的所以电脑名、IP。
- ******VB顶尖高手请进********直接调用datareport的问题(在线等候)
- 怎样控制另一应用程序窗口中的一个button
- 关于Enum 错误(不知vb的错误号是怎么规定的)
- 没有资料没有帮助-人世间最痛苦的事莫过如此,还好,有诸位大虾在!帮帮我,加分不限!进来看看我的问题
- 请问如何利用系统级Hook把我的DLL映射到explorer.exe的进程空间中的呢?高分相送!!
a65 A90
b66 B91
c67 C92
dim a as string
dim p as integer
a="abc123Abc4567aBc89"
p=instr(lcase(a),"abc")
while p<>0
list1.additem mid(a,p,3)
p=instr(p,lcase(a),"abc") '或是p=instr(lcase(a),p,"abc")我忘了起始位置参数是第一个还是第二个了,我这儿没VB,不好意思
wend
Dim AA, TMPAA As String
AA = "abc123Abc4567aBc89"
L = Len(AA)
For X = 1 To L
TMPAA = UCase(Mid(AA, X, 3))
If TMPAA = "ABC" Then
List1.AddItem Mid(AA, X, 3)
X = X + 2
End If
Next
Dim intOffset As Integer '找到的需要截取的字符串的位置
Dim intCutPos As Integer '应截取的位置
Dim intCutLength As Integer '截取长度
Dim strTmpSrc As String
Dim strTmpCut As String
strTmpSrc = UCase(strSrc) '把字符串转换成大写
strTmpCut = UCase(strCut) '把要借取的字符串转换成大写
intCutLength = Len(strCut) '取得截取的长度
intOffset = InStr(strTmpSrc, strTmpCut) '找到字符串出现的位置
If intOffset = 0 Or intCutLength = 0 Then
Exit Sub
Else
intCutPos = intOffset - 1 '计算截取位置
End If
Do While intOffset <> 0
lstDest.AddItem Mid(strSrc, intCutPos + 1, intCutLength) '向列表框添加Item
strTmpSrc = Mid(strTmpSrc, intOffset + intCutLength) '重新获得字符串
intOffset = InStr(strTmpSrc, strTmpCut) '找到字符串出现的位置
intCutPos = intCutPos + intOffset - 1 + intCutLength '计算截取位置
Loop
End Sub好了,可以用了。其中lstDest 是要添加Item的列表框控件, strSrc 是原始的字符串, strCut 是需要的字符串,例如你的ABC(不分大小写)。:),祝你使用愉快!
程序员应该用1和0做判断,请你不要用可能这么含糊的概念
我想拜托你你先实际调试一下。
我试验了没有问题,楼上上可能看错了
但如果hnlzh(吸海垂虹)把 X = X + 2 改成x== X + len(要提取字符长度)-1就不限于3个字串的
再做成Amoon(阿木)那样的函数给人调用就更有普遍性了,
Dim a As String
Dim p As Integer
a = "abc123Abc4567aBc89"
p = InStr(LCase(a), "abc")
While p <> 0
List1.AddItem Mid(a, p, 3)
p = InStr(p + 3, LCase(a), "abc")
Wend