2012-01-03 129 views

回答

5

你可以试试这个:

arrStr = Split(str, " ") 
strCnt = UBound(arrStr) + 1 
msgBox strCnt 

当然,如果你有Option Explicit集(你应该..)则宣布上述第一变量..

1

您的请求没有任何意义。一个字符串是一个文本序列。文本序列中包含空格分隔的数字这一事实是无关紧要的。您的字符串看起来像这样:

30 40 50 60 

有不为4独立的值,只存在一个值,上述的一个字符串示出。

您也可以将该字符串视为包含11个单独的字符,因此可以认为该字符串的“计数”为11,但这不会让您对目标有任何进一步的了解。

为了得到您期望的结果,您需要将字符串拆分为每个空格处的多个字符串,从而生成4个单独的字符串,每个字符串都包含一个2位数字值。

当然,真正的问题是为什么你要将这个值存储在字符串中的第一位。如果它们是数值,则应将它们存储在一个数组中(例如,一组Integer s)。然后,您可以使用LBound()UBound()函数轻松获取阵列中的元素数量。

1

我同意科迪所说的一切。

如果你真的想要你可以逐个字符地循环字符串并计算你找到你的分隔符的次数。在你的例子中,它是空格分隔的,所以你只需要计算空格的数量并加1,但是正如Cody所说的那样,这些不是单独的数值。

你想解析文本吗?无论如何,我认为你真正需要做的是将你的数据存储到一个数组中。让你的生活更轻松,而不是更难。

相关问题