Как посчитать количество разделенных пробелами подстрок в строке - PullRequest
1 голос
/ 03 января 2012
Dim str as String
str = "30 40 50 60"

Я хочу посчитать количество подстрок.

Ожидаемый результат: 4

(поскольку всего 4 значения: 30, 40, 50, 60)

Как я могу сделать это в VB6?

Ответы [ 3 ]

5 голосов
/ 03 января 2012

Вы можете попробовать это:

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

Конечно, если у вас есть Option Explicit set (, который вы должны .. ), тогда сначала объявите переменные выше ..

1 голос
/ 03 января 2012

Я согласен со всем, что сказал Коди.

Если вы действительно этого хотите, вы можете перебирать строковые символы и посчитать, сколько раз вы нашли свой разделитель. В вашем примере он разделен пробелами, поэтому вы просто посчитаете количество пробелов и добавите 1, но, как сказал Коди, это не отдельные значения

Вы пытаетесь разобрать текст здесь или как? В любом случае, я думаю, что вам действительно нужно сохранить данные в массиве. Сделай свою жизнь проще, а не сложнее.

1 голос
/ 03 января 2012

Ваш запрос не имеет никакого смысла. Строка - это последовательность текста. Тот факт, что эта последовательность текста содержит числа, разделенные пробелами, совершенно не имеет значения. Ваша строка выглядит так:

30 40 50 60

Нет 4 отдельных значений , есть только одно значение, показанное выше - одна строка.

Вы также можете просмотреть строку, содержащую 11 отдельных символов, поэтому можно утверждать, что «количество» строки будет равно 11, но это не приведет вас к достижению цели.

Чтобы получить ожидаемый результат, вам нужно разбить строку на несколько строк в каждом пространстве, создав 4 отдельные строки, каждая из которых содержит двузначное числовое значение.

Конечно, реальный вопрос в том, почему вы храните это значение в строке. Если это числовые значения, вы должны хранить их в массиве (например, массив Integer с). Затем вы можете легко получить количество элементов в массиве, используя функции LBound() и UBound().

...