ПОНЯТНО О Visual Basic NET (том 3)

Строки Методы модуля Strings


 Полезные средства для работы со строками унаследованы от Visual Basic 6.0. Вы можете воспользоваться ими, как методами модуля Strings пространства имен Microsoft. VisualBasic. Эти методы представлены функциями. Вот основные из них:

Функция

Результат

Пояснение

Len ("Чук и Гек")

9



Длина строки, включая пробелы

GetChar ("Чук и Гек", 5)

и

5-й символ в строке

Mid ("Астроном" , 3, 4)

трон

Часть строки длиной 4, начиная с 3-го символа

Strings.Left ("Победа", 2)

По

2 левых символа в строке

Strings.Right ("Победа", 3)

еда

3 правых символа в строке

Мне пришлось написать Strings.Left, потому что функция Left встречается не только в модуле Strings. То же относится и к Strings.Right.

При помощи функции GetChar вы можете добраться до каждой буквы в тексте. Следующий фрагмент распечатывает в столбик слово «Телепортация»:

        Dim s As String = "Телепортация"

        Dim i As Integer

        For i = 1 To Len(s)

            Debug.WriteLine (GetChar(s, i))                                'Это i-я буква в строке

        Next

Следующая функция позволяет искать в тексте нужное слово:

InStr ("Астроном", "трон")

3

Позиция (номер символа), начиная с которой строка "трон" находится в строке "Астроном"

InStr ("Астроном", "Трон")

0

Строка "Трон" не найдена в строке "Астроном"

Следующие функции занимаются заглавными и строчными буквами:

Ucase ("астРОнОм")

АСТРОНОМ

Все символы строки переводятся в верхний регистр

Lcase ("астРОнОм")

астроном

Все символы строки переводятся в нижний регистр

В 3.3 (Калькулятор) жизнь заставила нас познакомиться с функцией Val, которая преобразует строку в число. Напомню ее вам:

Val (“20 груш и 8 яблок”)

20

Функция читает строку слева направо, пока не натолкнется на символы, никакого отношения к числам не имеющие

Val (“  -    1       0груш”)

-10

На пробелы при этом  внимание не обращается

3  *  Val ( "2"  &  "0" )

60

Выражение  "2" & "0"   равняется строке  "20", ну а  Val("20")  равняется числу 20

<
Существует функция Str, которая наоборот – преобразует число в строку.

Str (5 * 5)

25

Число 25 преобразуется в строку "25". Хотя, надо сказать, что VB при работе с данными во многих случаях сам, безо всякого вмешательства, услужливо преобразовывает данные к удобному с его точки зрения типу.

Когда мы вводим текст в текстовое окно, мы часто не замечаем, что лишний раз нажали на клавишу пробела, тем более, что лишние пробелы, особенно в самом начале и в самом конце строки, заметить трудно. Мы не всегда заботимся о том, чтобы избавиться от них. А зачем? А затем, что компьютер пробелы видит не хуже любой буквы и считает их полноправными символами. Мы склонны считать строки   "Африка"  и  "Африка "  вполне одинаковыми. Компьютер же не может позволить себе такой вольности, он прекрасно видит, что во второй строке в конце стоит пробел. Значит строки не равны и это может привести к неожиданным для нас результатам. Сколько раз в моей практике ученик при подключении к локальной сети вводил свое имя с лишним пробелом, а потом негодовал, что компьютер-сервер не пускает его в сеть, потому что он такого имени не знает.

Следующие три функции позволяют нам справиться с невнимательностью:

Функция

Результат

Пояснение

"Ж" &  LTrim("    Бутевни  матлны   ")  &  "Ж"

ЖБутевни  матлны     Ж

Функция LTrim отсекает ведущие слева пробелы

"Ж" &  RTrim("    Бутевни  матлны   ")  &  "Ж"

Ж     Бутевни  матлныЖ

Функция RTrim отсекает волочащиеся справа пробелы

"Ж" &  Trim  ("    Бутевни  матлны   ")  &  "Ж"

ЖБутевни  матлныЖ

Функция Trim отсекает пробелы и слева и справа


Содержание раздела