Я работаю на разбор текстового файла, который имеет строки, подобные этим:InStr разделителя вопрос
Некоторый текст (2934418) - KB2933528 - XP x86
Некоторый текст - KB2923392
SOMETEXT - KB2933528 - XP x64/2003
(Примечание: нет пустых строк не на текстовый файл)
Я пытаюсь использовать Функция InStr для анализа текста и получения только номеров KB, но я не могу понять, какие разделители использовать для этого. Поскольку «-» - это те же символы, он продолжает возвращать одно и то же значение вместо поиска второго «-». Вот код, который у меня есть прямо сейчас.
intKbOpen = InStr(1, linedata, "-") intKbClose = InStr(1, linedata, "-") intKbDelta = (intKbOpen - intKbClose) strKb = Mid(linedata, intKbOpen, intKbDelta)
Это работает для первой и последней строки текстового файла. Но так как во второй строке отсутствует вторая «-», я получаю ошибку во время выполнения. потому что intKbDelta - отрицательное число – user3586080
@ user3586080 Я обновил код, чтобы обработать эту ситуацию. –
Спасибо, все. Пришлось немного поиграть с ним и добавить IF ... Затем ... Else заявление, но он получил правильную работу с вашей помощью! – user3586080