VBA
Часто используемые манипуляции с строками
Поиск…
Вступление
Краткие примеры для функций MID LEFT и RIGHT с использованием INSTR FIND и LEN.
Как вы находите текст между двумя поисковыми терминами (Скажите: после двоеточия и перед запятой)? Как вы получаете оставшуюся часть слова (используя MID или используя RIGHT)? Какая из этих функций использует параметры на основе нуля и коды возврата vs One-based? Что происходит, когда что-то идет не так? Как они обрабатывают пустые строки, необоснованные результаты и отрицательные числа?
Строковые манипуляции часто используются примеры
Лучшие примеры MID () и других примеров извлечения строк, которые в настоящее время отсутствуют в Интернете. Пожалуйста, помогите мне сделать хороший пример или заполнить этот. Что-то вроде этого:
DIM strEmpty as String, strNull as String, theText as String
DIM idx as Integer
DIM letterCount as Integer
DIM result as String
strNull = NOTHING
strEmpty = ""
theText = "1234, 78910"
' -----------------
' Extract the word after the comma ", " and before "910" result: "78" ***
' -----------------
' Get index (place) of comma using INSTR
idx = ... ' some explanation here
if idx < ... ' check if no comma found in text
' or get index of comma using FIND
idx = ... ' some explanation here... Note: The difference is...
if idx < ... ' check if no comma found in text
result = MID(theText, ..., LEN(...
' Retrieve remaining word after the comma
result = MID(theText, idx+1, LEN(theText) - idx+1)
' Get word until the comma using LEFT
result = LEFT(theText, idx - 1)
' Get remaining text after the comma-and-space using RIGHT
result = ...
' What happens when things go wrong
result = MID(strNothing, 1, 2) ' this causes ...
result = MID(strEmpty, 1, 2) ' which causes...
result = MID(theText, 30, 2) ' and now...
result = MID(theText, 2, 999) ' no worries...
result = MID(theText, 0, 2)
result = MID(theText, 2, 0)
result = MID(theText -1, 2)
result = MID(theText 2, -1)
idx = INSTR(strNothing, "123")
idx = INSTR(theText, strNothing)
idx = INSTR(theText, strEmpty)
i = LEN(strEmpty)
i = LEN(strNothing) '...
Не стесняйтесь редактировать этот пример и сделать его лучше. Пока это остается ясным и имеет в нем общие практики использования.