понедельник, 11 апреля 2011 г.

String. Методы. Часть 5

Новый день – и новая статья про методы класса String языка VB.NET. Сегодня, напоминаю, будет заключающая статья по этой теме, будут рассмотрены только три метода. После этого надо будет придумать какую-нибудь практическую задачку, чтобы в ней изучить более подробно все методы класса String. После практической программы – буду изучать следующий класс для работы со строками в языке VB.NET StringBuilder.

Пока не перешли к делу – скажу, что я пока не продвигаю никак статьи на моем блоге, то есть – почти не использую SEO. Но – надо начинать. На днях нашел блог интересный по этой теме – нашел статью, в которой описываются 10 SEO уроков от Angry Birds, надо подробно ее изучить и использовать в своей блоггерской жизни.

Итак, прочитав один раз статью про 10 SEO уроков – перейдем к методам. Как я уже сказал, сегодня будет рассмотрено только три метода (самая маленькая статья). Я расскажу вам про методы Replace, PadLeft и PadRight.

Replace:

Этот метод заменяет все вхождения заданного символа (или подстроки) в строке новым символом или подстрокой. Он создает новый экземпляр строки, заменяет в ней указанные символы и возвращает результат. Синтаксис ее следующий:

        новая_строка = исходная_строка.Replace(заменяемый_символ, заменяющий_символ)

Напомню, что метод (в своей работе) не изменяет исходной строки, а возвращает новую, не забывайте про это.

Давайте рассмотрим следующий пример:

        Dim str As String = "моя строка"
        MsgBox(str.Replace("о", "1"))

То есть, в исходной строке str будет заменены все буквы «о» на цифру один. Поэтому – результирующей строкой будет «м1я стр1ка».

Как уже было сказано, метод Replace может заменять не только отдельные символы, но и целые строки. Синтаксис его при этом остается тем же самым.

PadLeft, PadRight:

Эти методы выравнивают по левому или по правому краю строки. Каждый из них возвращают строку с фиксированной длиной с пробелами справа или слева. Методы получают в качестве аргумента длину строки и возвращают новую строку. Синтаксис (в самом простом случае) этих методов будет следующим:

        результарующая_строка = исходная_строка.PadLeft(кол - во_символов)
        результарующая_строка = исходная_строка.PadRight(кол - во_символов)

Исходные строки будут дополнены до необходимого количества символов пробелами. Давайте рассмотрим понятный пример:

        Dim str As String = "моя строка"
        MsgBox("|" + str.PadLeft(20) + "|"+Chr(13)+Chr(10)+"|"+str.PadRight(20)+"|")

Сразу скажу, что конструкция Chr(13)+Chr(10) переводи курсор вывода на новую строку в самую левую позицию. То есть – enter как бы нажимается программно. В результате работы этой конструкции мы увидим следующее сообщение:


Как вы поняли – в начале и в конце строк будут добавлены пробелы. Это все будет производится по умолчанию. Но – не всегда надо, чтобы добавлялись пробелы. Это можно исправить, добавив после количества символов тот символ, который будет заменять пробелы:

        Dim str As String = "моя строка"
        MsgBox("|" + str.PadLeft(20, "=") + "|" + Chr(13) + Chr(10) + "|" + str.PadRight(20, "+") + "|")

Вот что будет в результате:


Если строка больше заданной длины, методы PadLeft и PadRight просто вернут исходную строку. Они не обрезают строку до заданной длины:

        Dim str As String = "моя строка"
        MsgBox(str.PadLeft(5))

Этот код вернет исходную строку.

Методы PadLeft и PadRight можно использовать для выравнивания текста в элементе управления, но только в том случае, если этот текст выводится моноширинным шрифтом (например – Courier, все символы имеют одинаковую ширину). Кроме того, эти два метода могут использоваться для создания текстовых файлов, строки которых состоят из полей фиксированной длины.

Вот мы и закончили изучение методов класса String. Теперь можно и в Париж сгонять! Кстати, если уж действительно собрались поехать (на своем авто) во Францию – то вам обязательно пригодится карта автомобильных дорог Франции, изучите ее подробно – и можно трогаться в путь. Тоже бы хотелось съездить туда, но – пока денег нет.

Как уже было неоднократно сказано – буду писать программу на днях, в которой разберу все методы этого класса. Посмотрим, что получится.

Комментариев нет:

Отправить комментарий