• 按键公众号 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:2021-12-03

按键精灵安卓版
立即下载

软件版本:3.7.2
软件大小:46.2M
更新时间:2023-05-10

按键精灵iOS版
立即下载

软件版本:1.8.0
软件大小:29.2M
更新时间:2023-03-21

按键手机助手
立即下载

软件版本:3.8.0
软件大小:262M
更新时间:2023-05-30

快捷导航

登录 后使用快捷导航
没有帐号? 注册

发新话题 回复该主题

[老狼] [老狼][心得分享]----获取B在A内的数量----遇见蔷薇泡沫(39) [复制链接]

1#
例子1:{Split+UBound法}
  1. 文本内容="苹果|苹果|西瓜|橘子|西瓜|西瓜"
  2. s = split(文本内容, "苹果")
  3. 苹果数量 = UBound(s)
  4. s = split(文本内容, "西瓜")
  5. 西瓜数量 = UBound(s)
  6. s = split(文本内容, "橘子")
  7. 橘子数量 = UBound(s)
  8. TracePrint "苹果数量:" & 苹果数量 & "; 西瓜数量:" & 西瓜数量 & "; 橘子数量:" & 橘子数量
复制代码

例子2:{累计法}
  1. 文本内容="苹果|苹果|西瓜|橘子|西瓜|西瓜"
  2. MyArray = Split(文本内容, "|")
  3. If UBound(MyArray)>=0 Then
  4. i = 0
  5. For UBound(MyArray)
  6. s = split(文本内容, MyArray(i))
  7. a = MyArray(i) & "有" & UBound(s) & "个,"
  8. If InStr(y,a)>0 Then
  9. Else
  10. y=y&a
  11. End If
  12. i = i + 1
  13. Next
  14. End If
  15. TracePrint y
复制代码

例子3:{Filter法}
  1. Text ="a|b|c|a|a"
  2. b = split(text, "|")
  3. gs = Filter(b, "a")
  4. TracePrint UBound(gs)+1
复制代码

例子4:{正则法}
  1. Function strnum(patrn, strng)
  2. Set regEx = New RegExp
  3. regEx.Pattern = patrn
  4. regEx.IgnoreCase = True
  5. Execute "regEx.Global = True"
  6. Set Matches = regEx.Execute(strng)
  7. For Each Match in Matches
  8. '对每个匹配项的处理
  9. Next
  10. strnum =Matches.count '直接返回匹配数量
  11. End Function


  12. MsgBox strnum("bg","bghbghbhbgabcbbgbg")
复制代码

增强用法:{返回符合指定数量的内容}
  1. var = "AA|天才|天才|AA|AA|AA|天才|天才|DD"
  2. TracePrint 返回符合数量的(var, 4)
  3. Function 返回符合数量的(内容, 数量)
  4. 分割 = Split(内容, "|")
  5. For i = 0 To UBound(分割)
  6. 累计=0
  7. TracePrint 分割(i)
  8. For j = 0 To UBound(分割)
  9. If 分割(i) = 分割(j) Then
  10. 累计=累计+1
  11. End If
  12. If 累计 >= 数量 Then
  13. If instr(总, 分割(i)) = 0 Then
  14. 总=总&分割(i)&"|"
  15. End If
  16. End If    
  17. Next
  18. Next
  19. If 总 <> "" Then
  20. 返回符合数量的=mid(总,1,len(总)-1)
  21. End If
  22. End Function
复制代码
var = "AA|BB|BB|AA|AA|AA|CC|CC|DD"
TracePrint 返回符合数量的(var, 2)
Function 返回符合数量的(内容, 数量)
返回符合数量的 = ""
总=""
分割 = Split(内容, "|")
For i = 0 To UBound(分割)
数量1 = Filter(分割,分割(i) )
If UBound(数量1) + 1 >= 数量 Then
If instr(总, 分割(i) & "|") = 0 Then
总=总&分割(i) &"|"
End If
End If
Next
返回符合数量的=mid(总,1,len(总)-1)
End Function

最后编辑瑞祥幽冥狼 最后编辑于 2022-03-24 18:02:09
本主题由 超级版主 瑞祥幽冥狼 于 2023/10/5 18:31:24 执行 审核帖子 操作
收 徒 索 引 ← ← ← ← ← ← ← ← ← ← 点 击

个 人 Q Q 1 : 1 2 2 3 1 1 6 6 1 8[将满]
个 人 Q Q 2 : 6 1 7 0 9 5 5 4 3[可加]
2#

获取B在A内的数量

3#

6666666+++++

4#

学习一下。

5#

学习一下a

6#

学习一下

7#

学习了

8#

看看看看

9#

学习

10#

66666666666666666666666666666666666

11#

谢谢谢谢谢

12#

66666666666666666666666666

13#

这个有点用

发新话题 回复该主题