Как найти длину строковой переменной? - PullRequest
0 голосов
/ 30 января 2019

Я пытаюсь найти длину i, которая должна быть 3:

Dim k As String
Dim i() As String

k = "test1 l test2 l test3 l"

i() = Split(k, "l")
Debug.Print len(i())

Ответы [ 2 ]

0 голосов
/ 30 января 2019

На самом деле i имеет 4 элемента, если вы посмотрите на них в окне Watch.Чтобы открыть окно в режиме отладки, выберите i и нажмите Shift + F9 или в View> Watch Window.

enter image description here

Вернемся к делу, если вы хотите увидеть количество элементов массива, тогда Debug.Print UBound(i)+1 будет в порядке.

0 голосов
/ 30 января 2019

i это не строка, а массив.Len() возвращает Len gth строки.

Вы хотите UBound()

Debug.Print Ubound(i)+1

Мы добавляем 1, поскольку Split() создает 0 base array.

Также это будет 4, так как есть три l, и split будет видеть пустую строку в конце строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...