Операції з рядками в vba

Операції з рядками

Для даних типу String існує тільки одна операція - конкатенація (об'єднання). Наприклад, результатом операції конкатенації трьох строкових значень «Петро» "" «Іванович» буде рядок «Петро Іванович». Можливо також використання іншого оператора для операції конкатенації, наприклад: «десяти» + «тисячник». Різниця між цими виразами полягає в тому, що в першому випадку операндами можуть бути значення будь-якого типу (вони просто будуть перетворюватися в рядкові), а в другому - обидва операнди повинні мати тип String.

Для роботи з рядками існує велика кількість функцій (таблиця. Функції роботи з рядками).

Таблиця «Функції роботи з рядками»

Визначає довжину рядка

З а = lеn ( "Персонажі") слід а = 9

Left (<строка>, <длина>)

Виділяє з аргументу <строка> вказану кількість символів зліва

Left ( "1234string", 4) = "1 234"

Виділяє з аргументу <строка> вказану кількість символів праворуч

Right ( "1234string", 6) = "string"

Mid (<строка>, <старт> [, <длина>])

Виділяє з аргументу <строка> подстроку із зазначеним числом символів, починаючи з позиції <старт>

Mid ( "12345678", 4, 3) = "456"

Виділяється подстрока від позиції <старт> до кінця рядка

InStr ([<старт>, ] <строка 1>, <строка 2> [, <сравнение>])

Здійснює пошук підрядка в рядку. Повертає позицію першого входження рядка <строка 2> в рядок <строка 1>, <старт> - позиція, з якої починається пошук. Якщо цей аргумент пропущено, пошук починається з початку рядка

Instr ( "C: Temp test.mdb", "Test") = 9 Якщо шукана рядок не знаходиться в зазначеному рядку, функція повертає 0

InStrRev ([<старт>, ] <строка 1>, <строка 2> [, <сравнение>])

Шукає підрядок в рядку, але починає пошук з кінця рядка і повертає позицію останнього входження підрядка. необов'язковий аргумент <сравнение> визначає тип порівняння двох рядків

Replace (<строка>, <строка Поиск>, <строка Замена>)

Дозволяє замінити в рядку одну подстроку інший. Ця функція шукає все входження аргументу <строка Поиск> в аргументі <строка> і замінює їх на <строка Замена>

Для порівняння строкових значень можна використовувати звичайні оператори порівняння числових значень, так як при порівнянні символів порівнюються їх двійкові коди.

Для порівняння строкових значень також застосовується оператор Like, який дозволяє виявляти неточне збіг, наприклад вираз «Вхідний сигнал» Like «Вхід *» матиме значення True, так як порівнювана рядок починається зі слова «Вхід». Символ зірочка (*) в рядку замінює довільне число символів. Інші символи, які обробляються оператором Like в порівнюєш рядку:

  • ? - будь-який символ (один);
  • # - одна цифра (0-9);
  • [<список>] - символ, що співпадає з одним із символів списку;
  • [!<список>] - символ, який не збігається ні з одним з символів списку.

Наступні три функції дозволяють працювати з масивом рядків

  • Split (<строка> [, <разделитель>]) - перетворює рядок в масив підрядків. За замовчуванням як роздільник використовується пропуск. Дану функцію зручно використовувати для розбиття пропозиції на слова. Однак можна вказати в цій функції будь-який інший роздільник. Наприклад, Split (3, «Це тестове пропозицію») повертає масив з трьох строкових значень: «Це», «тестове», «пропозиція».
  • Join (<массив Строк> [, <разделитель>]) - перетворює масив рядків в один рядок із зазначеним роздільником.
  • Filter (<массив Строк>, <строка Поиск>[, <включение>] [, <сравнение>]) - переглядає масив строкових значень і шукає в ньому все підрядка, що збігаються з заданим рядком.

Ця функція має чотири аргументи:

  • <строка Поиск> - шукана стрічка;
  • <включение> - параметр (boolean значення), який вказує, чи будуть повернені рядки включати шукану підрядок або, навпаки, повертатися будуть тільки ті рядки масиву, які не містять шуканої рядка в якості підрядка;
  • <сравнение> - параметр, що визначає метод порівняння рядків.

Ще три функції забезпечують перетворення рядків:

І останні дві функції генерують рядки символів

  • Space (<число>) - створює рядок, що складається із зазначеного числа прогалин;
  • String (<число>, <символ>) - створює рядок, що складається із зазначеного в першому аргументі числа символів. Сам символ вказується в другому аргументі.

Створити програму, що працює зі рядковими змінними. Для цього створити форму, в мітки якої виходять такі повідомлення:

1 мітка: повідомляється довжина рядка, введеної на початку текстове поле (1 рядок);

2 мітка: перетворює всі символи третього текстового поля (3 рядок) в заголовні букви;

Хороший фреймворк (framework) краще рішення для безпроблемної роботи з рядками.

технологія виконання

Форма прикладу в режимі конструктора і в робочому стані

Схожі статті