![]() Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Основные операции над строками
В классической математике давным-давно определен набор основных операций над числовыми и булевыми данными. Строковой арифметикой серьезно стали заниматься с появлением компьютеров. В языках есть операция, называемая конкатенацией строк, обозначаемая, символом " & ". Все остальные основные операции реализуются с помощью встроенных функций, имена которых и их аргументы могут варьироваться от языка к языку. Варьируется и сам набор этих операций. Минимально, необходимы две операции: первая - позволяет обнаружить индекс вхождения одной строки в другую, вторая - выделить из строки ее подстроку. Рассмотрим некоторые операции. Функция Len(string) возвращает длину строки, заданной аргументом String. Возвращается число символов строки, а не число байтов. Функция InStr определяет позицию (индекс) первого вхождения одной строки внутри другой строки. Синтаксис: InStr([start, ]string1, string2[, compare]) Необязательный аргумент start задает позицию, с которой начинается поиск (по умолчанию - с первого символа строки). Аргумент string1 задает строку, в которой выполняется поиск, а string2 - подстроку, вхождение которой ищется. Необязательный аргумент compare имеет тот же смысл, что и для функции StrComp. Возвращаемые значения определяются следующей таблицей.
Например, два вызова этой функции в окне отладки вернут следующие результаты: ? InStr(4, " XXпXXпXXПXXП", " П", 1) ? InStr(4, " XXпXXпXXПXXП", " П", 0) Функция Left(string, length) выделяет в строке string указанное число length символов слева, позволяя выделить префикс строки. Функция Right(string, length) выполняет аналогичную операцию, выделяя символы справа, что позволяет получить суффикс (окончание) строки. Более универсальная функция Mid(string, start[, length]) позволяет выделить из строки string подстроку длины length, начиная с позиции start. Забиваем Сайты В ТОП КУВАЛДОЙ - Уникальные возможности от SeoHammer
Каждая ссылка анализируется по трем пакетам оценки: SEO, Трафик и SMM.
SeoHammer делает продвижение сайта прозрачным и простым занятием.
Ссылки, вечные ссылки, статьи, упоминания, пресс-релизы - используйте по максимуму потенциал SeoHammer для продвижения вашего сайта.
Что умеет делать SeoHammer
— Продвижение в один клик, интеллектуальный подбор запросов, покупка самых лучших ссылок с высокой степенью качества у лучших бирж ссылок. — Регулярная проверка качества ссылок по более чем 100 показателям и ежедневный пересчет показателей качества проекта. — Все известные форматы ссылок: арендные ссылки, вечные ссылки, публикации (упоминания, мнения, отзывы, статьи, пресс-релизы). — SeoHammer покажет, где рост или падение, а также запросы, на которые нужно обратить внимание. SeoHammer еще предоставляет технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Зарегистрироваться и Начать продвижение Вот пример вызова этих функций непосредственно из окна отладки: ? VBA.Left(" рококо", 3) рок ? VBA.Right(" рококо", 3) око ? VBA.Mid(" рококо", 3, 3) кок Функции LTrim(string), RTrim(string), Trim(string) возвращают копию строки, из которой удалены пробелы, находившиеся в начале строки (LTrim), в конце строки (RTrim) или в начале и конце строки (Trim). Функция String создает строку: содержащую заданное число повторяющихся символов. Синтаксис: String(number, character) Аргумент number задает длину строки, а character - код символа или строковое выражение, первый символ которого используется при создании результирующей строки. Функции LCase(string) и UCase(string) возвращают копию строки, символы которой приведены к нижнему (Low) или верхнему регистру (Upper). Функции, возвращающие строки, существуют в двух вариантах, отличающихся именами. Функции, имена которых мы приводили, возвращают результат типа Variant. Во втором варианте имена функций оканчиваются знаком $, например, Mid$, UCase$. В этом случае результат возвращается типа String. Такие функции выполняются быстрее, но не могут корректно работать со строками, имеющими значение Null. В качестве примера приведем функцию, которая находит путь к активному документу Word, и производит разбор всех компонент этого пути: Public Function AppPath(Disk As String, Dir As String, FileName As String) As String 'Эта Функция возвращает в качестве результата полный путь активного документа 'Ее параметры содержат компоненты этого пути - имя диска, каталог на диске и имя файла Dim MyDoc As Document Dim Path As String Dim Start As Byte, Finish As Byte
'Определяем полный путь к файлу, задающему активный документ Word Set MyDoc = ActiveDocument Path = MyDoc.FullName
'Выделяем имя диска - первый символ полного пути Disk = VBA.Left(Path, 1)
'Выделяем каталог, в котором хранится документ Start = VBA.InStr(1, Path, " \") Finish = VBA.InStrRev(Path, " \") Dir = VBA.Mid(Path, Start + 1, Finish - Start)
'Выделяем имя файла FileName = VBA.Mid(Path, Finish + 1)
'Возвращается результат - полный путь к каталогу AppPath = VBA.Left(Path, Finish) End Function
Public Sub MyPath() Dim Path As String Dim Dir As String Dim Disk As String Dim FileName As String Path = AppPath(Disk, Dir, FileName) Debug.Print Disk, Dir, FileName, Path Сервис онлайн-записи на собственном Telegram-боте
Попробуйте сервис онлайн-записи VisitTime на основе вашего собственного Telegram-бота:— Разгрузит мастера, специалиста или компанию; — Позволит гибко управлять расписанием и загрузкой; — Разошлет оповещения о новых услугах или акциях; — Позволит принять оплату на карту/кошелек/счет; — Позволит записываться на групповые и персональные посещения; — Поможет получить от клиента отзывы о визите к вам; — Включает в себя сервис чаевых. Для новых пользователей первый месяц бесплатно. Зарегистрироваться в сервисе
End Sub
Вот результаты отладочной печати после запуска процедуры MyPath: E O2000\VBA2000\Ch8\ Ch8.doc E: \O2000\VBA2000\Ch8\ В функции AppPath использовали функцию InStrRev, что облегчило решение задачи.
|