如何计算字符串中以空格分隔的子字符串的数量

时间:2012-01-03 06:21:44

标签: vb6 count substring

Dim str as String
str = "30 40 50 60"

我想计算子串的数量。

预期输出:4

(因为总共有4个值:30,40,50,60)

如何在VB6中完成此操作?

3 个答案:

答案 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所述,这些不是单独的值..

您是在尝试解析文字还是什么?无论如何,我认为您真正需要做的是将数据存储到数组中。让您的生活更轻松,而不是更困难。