Dim str as String
str = "30 40 50 60"
我想计算子串的数量。
预期输出:4
(因为总共有4个值:30,40,50,60)
如何在VB6中完成此操作?
答案 0 :(得分:5)
你可以试试这个:
arrStr = Split(str, " ")
strCnt = UBound(arrStr) + 1
msgBox strCnt
当然,如果你设置Option Explicit
(你应该...... ),那么首先要声明变量。
答案 1 :(得分:1)
您的请求没有任何意义。字符串是一系列文本。该文本序列包含由空格分隔的数字的事实是无关紧要的。你的字符串如下所示:
30 40 50 60
没有4个单独的值,只有一个值,如上图所示 - 单个字符串。
您还可以将字符串视为包含11个单独的字符,因此可以认为字符串的“计数”为11,但这并不能让您更进一步实现目标。
为了获得您期望的结果,您需要在每个空格处将字符串拆分为多个字符串,生成4个单独的字符串,每个字符串包含2位数字值。
当然,真正的问题是为什么你首先将这个值存储在一个字符串中。如果它们是数值,则应将它们存储在数组中(例如,Integer
的数组)。然后,您可以使用LBound()
和UBound()
函数轻松获取数组中的元素数。
答案 2 :(得分:1)
我同意科迪所说的一切。
如果你真的想要,你可以逐个字符循环字符串并计算你找到分隔符的次数。在您的示例中,它是以空格分隔的,因此您只需计算空格数并添加1,但正如Cody所述,这些不是单独的值..
您是在尝试解析文字还是什么?无论如何,我认为您真正需要做的是将数据存储到数组中。让您的生活更轻松,而不是更困难。