Функция Mid
Возвращает значение типа Variant (String), содержащее указанное число символов строки.
Синтаксис
Синтаксис функции Mid состоит из следующих именованных аргументов:
| Часть | Описание |
|---|---|
| строка | Обязательный аргумент. Строковое выражение, из которого возвращаются символы. Если строка содержит значение NULL, возвращается NULL. |
| начало | Обязательный аргумент. Long. Позиция символа в строке, с которой начинается забираемая часть. Если значение аргумента начало больше, чем число символов в строке, функция Mid возвращает строку нулевой длины («»). |
| длина | Необязательный аргумент. Variant (Long). Число возвращаемых символов. Если не указано или если меньше, чем символов длины в тексте (включая символ в начале), возвращаются все символы от начальной позиции до конца строки. |
Примечания
Чтобы определить число символов в строке, используйте функцию Len.
Используйте функцию MidB для работы с содержащимися в строке байтами, например в языках с двухбайтовыми кодировками (DBCS). Вместо указания числа символов аргументы задают число байтов. Образец кода с использованием функции MidB приведен во втором примере.
Пример
В первом примере с помощью функции Mid возвращается указанное количество знаков строки.
Dim MyString, FirstWord, LastWord, MidWords MyString = "Mid Function Demo" ' Create text string. FirstWord = Mid(MyString, 1, 3) ' Returns "Mid". LastWord = Mid(MyString, 14, 4) ' Returns "Demo". MidWords = Mid(MyString, 5) ' Returns "Function Demo".
Во втором примере с использованием функции MidB и определяемой пользователем функции (MidMbcs) также возвращаются знаки из строки. Отличие от первого примера состоит в том, что исходная строка представляет собой строку ANSI и ее длина выражена в байтах.
Function MidMbcs(ByVal str as String, start, length) MidMbcs = StrConv(MidB(StrConv(str, vbFromUnicode), start, length), vbUnicode) End Function Dim MyString MyString = "AbCdEfG" ' Where "A", "C", "E", and "G" are DBCS and "b", "d", ' and "f" are SBCS. MyNewString = Mid(MyString, 3, 4) ' Returns "CdEf" MyNewString = MidB(MyString, 3, 4) ' Returns "bC" MyNewString = MidMbcs(MyString, 3, 4) ' Returns "bCd"
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Обратная связь
Были ли сведения на этой странице полезными?
Strings. Mid Метод
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает строку, содержащую символы из указанной строки.
Перегрузки
Возвращает строку, содержащую все символы начиная с указанной позиции в строке.
Возвращает строку, содержащую указанное число символов начиная с указанной позиции в строке.
Mid(String, Int32)
Возвращает строку, содержащую все символы начиная с указанной позиции в строке.
public: static System::String ^ Mid(System::String ^ str, int Start);
public static string? Mid (string? str, int Start);
public static string Mid (string str, int Start);
static member Mid : string * int -> string
Public Function Mid (str As String, Start As Integer) As String
Параметры
Обязательный. Выражение String , из которого возвращаются знаки.
Обязательный. Выражение Integer . Начальная позиция возвращаемых знаков. Если параметр Start больше, чем количество символов в параметре str , функция Mid возвращает пустую строку («»). Значение параметра Start отсчитывается с единицы.
Возвращаемое значение
Строка, состоящая из всех символов начиная с указанной позиции в строке.
Исключения
Примеры
Последняя строка в этом примере использует эту перегрузку Mid функции для возврата пятого и последующих символов из строки.
' Creates text string. Dim testString As String = "Mid Function Demo" ' Returns "Mid". Dim firstWord As String = Mid(testString, 1, 3) ' Returns "Demo". Dim lastWord As String = Mid(testString, 14, 4) ' Returns "Function Demo". Dim midWords As String = Mid(testString, 5)
Комментарии
Чтобы определить количество символов в str , используйте функцию Len .
В Visual Basic есть Mid функция и Mid оператор . Оба этих элемента работают с указанным количеством символов в строке, но Mid функция возвращает символы, Mid а оператор заменяет символы. Дополнительные сведения см. в разделе Оператор Mid.
Функция MidB в предыдущих версиях Visual Basic возвращает строку в байтах, а не символы. Он используется в основном для преобразования строк в приложениях с двухбайтовой кодировкой (DBCS). Все строки Visual Basic находятся в Юникоде и MidB больше не поддерживаются.
См. также раздел
- Left(String, Int32)
- Len
- Trim(String)
- LTrim(String)
- RTrim(String)
- Right(String, Int32)
- ArgumentException
- Сводка по работе со строками
- Строки в Visual Basic
- Знакомство со строками в Visual Basic
- Оператор Mid
Применяется к
Mid(String, Int32, Int32)
Возвращает строку, содержащую указанное число символов начиная с указанной позиции в строке.
public: static System::String ^ Mid(System::String ^ str, int Start, int Length);
public static string Mid (string? str, int Start, int Length);
public static string Mid (string str, int Start, int Length);
static member Mid : string * int * int -> string
Public Function Mid (str As String, Start As Integer, Length As Integer) As String
Параметры
Обязательный. Выражение String , из которого возвращаются знаки.
Обязательный. Выражение Integer . Начальная позиция возвращаемых знаков. Если параметр Start больше, чем количество символов в параметре str , функция Mid возвращает пустую строку («»). Значение параметра Start отсчитывается с единицы.
Необязательный элемент. Выражение Integer . Число возвращаемых знаков. Если этот параметр опущен или количество знаков в тексте меньше значения Length (включая знак на позиции Start ), возвращаются все знаки от начальной позиции до конца строки.
Возвращаемое значение
Строка, состоящая из указанного числа символов начиная с указанной позиции в строке.
Исключения
Примеры
Первые две Mid функции в этом примере возвращают указанное количество символов из строки, начиная с заданных позиций. (Последняя функция иллюстрирует перегрузку Mid(String, Int32) и указывает только начальную точку для извлечения строки.)
' Creates text string. Dim testString As String = "Mid Function Demo" ' Returns "Mid". Dim firstWord As String = Mid(testString, 1, 3) ' Returns "Demo". Dim lastWord As String = Mid(testString, 14, 4) ' Returns "Function Demo". Dim midWords As String = Mid(testString, 5)
Комментарии
Чтобы определить количество символов в str , используйте функцию Len .
В Visual Basic есть Mid функция и Mid оператор . Оба этих элемента работают с указанным количеством символов в строке, но Mid функция возвращает символы, Mid а оператор заменяет символы. Дополнительные сведения см. в разделе Оператор Mid.
Функция MidB в предыдущих версиях Visual Basic возвращает строку в байтах, а не символы. Он используется в основном для преобразования строк в приложениях с двухбайтовой кодировкой (DBCS). Все строки Visual Basic находятся в Юникоде и MidB больше не поддерживаются.
См. также раздел
- Left(String, Int32)
- Len
- Trim(String)
- LTrim(String)
- RTrim(String)
- Right(String, Int32)
- ArgumentException
- Сводка по работе со строками
- Строки в Visual Basic
- Знакомство со строками в Visual Basic
- Оператор Mid
Обработка строк
Строка — это последовательность символов. Строковые величины могут быть переменными или константами. Символы, заключенные в кавычки, являются строками.
В VBA существует несколько функций для обработки строк. Mid(вырезка), Len (длина), InStr(поиск), Left (вырезка слева), Right (вырезка справа), Trim (убирает пробелы слева и справа), StrComp (сравнение строк) и др.
Приведем пример обработки строк.
Задача: В строке подсчитать количество цифр.
Sub пример_str_4() Dim Mystring, char Dim i, n Mystring = InputBox("Введите строку") n = 0 For i = 1 To Len(Mystring) char = Mid(Mystring, i, 1) If char >= "0" And char "9" Then n = n + 1 Next i MsgBox n End Sub
Функция Mid
Общий вид функции Mid:
Mid(Строка, Начальная_позиция[, Длина])
Функция Mid возвращает вырезку из строки Строка, начиная со позиции Начальная_позиция, длиною Длина.
Sub пример_mid() Dim MyString, Word1, Word2, Word3 MyString = "Демо функции Mid" Word1 = Mid(MyString, 1, 4) ' результат "Демо" MsgBox Word1 Word2 = Mid(MyString, 14, 3) ' результат "Mid" MsgBox Word2 Word3 = Mid(MyString, 6) ' результат "функции Mid" MsgBox Word3 End Sub
Функция Len
Общий вид функции Len:
Len (Строка)
Функция Len возвращает длину строки Строка.
Sub пример_len() Dim MyString Dim Длина MyString = "Демо функции Len" Длина = Len(MyString) MsgBox Длина End Sub
Функция InStr
Общий вид функции InStr:
InStr([нач_позиция, ]Строка1, Строка2[, Опция_1_или_0])
Функция InStr номер первого вхождения в строке Строка1 строки Строка2, начиная с позиции Нач_позиция.
Sub пример_instr() Dim Mystring Mystring = "Где Вася" номер = InStr(Mystring, "Вася") ' результат 5 MsgBox номер End Sub
Оператор Mid
Заменяет указанное количество символов в переменной со значением типа Variant (String) символами из другой строки.
Синтаксис
Mid(stringvar, start, [ length ] ) =string
Синтаксис свойства Mid состоит из следующих частей:
| Part | Описание |
|---|---|
| stringvar | Обязательно. Имя переменной строки, которую необходимо изменить. |
| start | Обязательный элемент; значение типа Variant (Long). Положение символа в переменной stringvar, с которого начинается замена текста. |
| длина | Необязательный аргумент. Variant (Long). Количество символов для замены. Если значение опущено, используются все символы string. |
| строка | Обязательный аргумент. Строковое выражение, которое частично заменяет stringvar. |
Замечания
Количество заменяемых символов всегда меньше или равно количеству символов в stringvar.
Используйте оператор MidB с данными байтов, содержащимися в строке. В инструкции MidBstart задает позицию байтов в строковом квартале , где начинается замена, а длина — количество байтов для замены.
Пример
В этом примере оператор Mid используется для замены указанного количества символов в строковой переменной символами из другой строки.
Dim MyString MyString = "The dog jumps" ' Initialize string. Mid(MyString, 5, 3) = "fox" ' MyString = "The fox jumps". Mid(MyString, 5) = "cow" ' MyString = "The cow jumps". Mid(MyString, 5) = "cow jumped over" ' MyString = "The cow jumpe". Mid(MyString, 5, 3) = "duck" ' MyString = "The duc jumpe".
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Обратная связь
Были ли сведения на этой странице полезными?