Как искать строку в массиве строк - PullRequest
0 голосов
/ 01 мая 2018

Просто пример, чтобы было понятнее.

Допустим, нам назначено это как строки в массиве:

a(1) = Blue
a(2) = Red
a(3) = Orange

Тогда строка, которую вы хотите найти в массиве: «Или»

Я бы тогда запрограммировал его часть так:

word = "Or"
i = 1
j = 1
For a(i) to 3
if instr(a(i),word,1) <>0 Then
b(j) = a(i)
j = j + 1
end if
next i

Это выходное намерение. Я бы на самом деле знал, какой массив - в этом случае массив (3) содержит слово «или». Это вывод, который я хочу.

У меня проблема с использованием функции instr, поскольку она не распознает строковое значение в массиве или даже строку в переменной. Мне было интересно, есть ли другой способ, не объединяя строки в массиве и не ограничивая его позже.

1 Ответ

0 голосов
/ 01 мая 2018

Я не уверен насчет предоставленного вами кода, потому что если он выглядит как синтаксическая ошибка для меня.

Итак, я написал кусок кода, который служит вашим потребностям. Надеюсь, это поможет.

Dim a(3) As String

a(0) = "Blue"
a(1) = "Red"
a(2) = "Orange"

Dim word As String

word = "Or"

Dim i As Integer

For i = LBound(a) To UBound(a)
    If InStr(a(i), word) Then
        Debug.Print "found at index " + CStr(i) + " : "; a(i)
    End If
Next
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...