Шрифт:
Интервал:
Закладка:
Для удаления части строки служит метод Remove(). Ниже приведены две его формы.
public string Remove(int startlndex)
public string Remove(int startlndex, int count)
В первой форме метода Remove() удаление выполняется, начиная с места, указываемого по индексу startlndex, и продолжается до конца строки. А во второй форме данного метода из строки удаляется количество символов, определяемое параметром count, начиная с места, указываемого по индексу startlndex. В обеих формах возвращается получающаяся в итоге строка.
Для замены части строки служит метод Replace(). Ниже приведены две его формы.
public string Replace(char oldChar, char newChar)
public string Replace(string oldValue, string newValue)
В первой форме метода Replace() все вхождения символа oldChar в вызывающей строке заменяются символом newChar. А во второй форме данного метода все вхождения строки oldValue в вызывающей строке заменяются строкой newValue. В обеих формах возвращается получающаяся в итоге строка.
В приведенном ниже примере демонстрируется применение методов Insert(), Remove() и Replace().
// Пример вставки, замены и удаления строк.
using System;
class InsRepRevDemO {
static void Main() {
string str = "Это тест";
Console.WriteLine("Исходная строка: " + str);
// Вставить строку.
str = str.Insert(4, "простой ");
Console.WriteLine(str) ;
// Заменить строку.
str = str.Replace("простой", "непростой ");
Console.WriteLine (str);
// Заменить символы в строке
str = str.Replace('т', 'X');
Console.WriteLine(str);
// Удалить строку, str = str.Remove(4, 5);
Console.WriteLine(str);
}
}
Ниже приведен результат выполнения этой программы.
Исходная строка: Это тест
Это простой тест
Это непростой тест
ЭХо непросХой ХесХ
ЭХо сХой ХесХ
Смена регистраВ классе String предоставляются два удобных метода, позволяющих сменить регистр букв в строке, — ToUpper() и ToLower(). Диже приведены их простейшие формы.
public string ToLower()
public string ToUpper()
Метод ToLower() делает строчными все буквы в вызывающей строке, а метод ToUpper() делает их прописными. В обоих случаях возвращается получающаяся в итоге строка. Имеются также следующие формы этих методов, в которых можно указывать информацию о культурной среде и способы преобразования символов.
public string ToLower (Culturelnfo culture)
public string ToUpper(Culturelnfo culture)
С помощью этих форм можно избежать неоднозначности в исходном коде по отношению к правилам смены регистра. Именно для таких целей эти формы и рекомендуется применять.
Кроме того, имеются следующие методы ToUpperInvariant() и ToLowerlnvariant().
public string ToUpperlnvariant()
public string ToLowerlnvariant()
Эти методы аналогичны методам ToUpper() и ToLower(), за исключением того, что они изменяют регистр букв в вызывающей строке безотносительно к настройкам культурной среды.
Применение метода Substring()Для получения части строки служит метод Substring(). Ниже приведены две его формы.
public string Substring(int startlndex)
public string Substring(int startlndex, int length)
В первой форме метода Substring() подстрока извлекается, начиная с места, обозначаемого параметром startlndex, и до конца вызывающей строки. А во второй форме данного метода извлекается подстрока, состоящая из количества символов, определяемых параметром length, начиная с места, обозначаемого параметром startlndex. В обеих формах возвращается получающаяся в итоге подстрока.
В приведенном ниже примере программы демонстрируется применение метода Substring().
// Использовать метод Substring().
using System;
class SubstringDemo {
static void Main() {
string str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
Console.WriteLine("Строка str: " + str);
Console.Write("Подстрока str.Substring(15): ");
string substr = str.Substring(15);
Console.WriteLine(substr);
Console.Write("Подстрока str.Substring(0, 15): ");
substr = str.Substring(0, 15);
Console.WriteLine (substr);
}
}
Эта программа дает следующий результат.
Строка str: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Подстрока str.Substring(15): PQRSTUVWXYZ
Подстрока' str. Substring (0, 15): ABCDEFGHIJKLMNO
Методы расширения класса StringКак упоминалось ранее, в классе String реализуется обобщенный интерфейс IEnumerable<T>. Это означает, что, начиная с версии C# 3.0, для объекта класса String можно вызывать методы расширения, определенные в классах Enumerable и Queryable, которые находятся в пространстве имен System.Linq. Эти методы расширения служат главным образом для поддержки LINQ, хотя некоторые из них могут использоваться в иных целях, в том числе и в определенных видах обработки строк. Подробнее о методах расширения см. в главе 19.
Форматирование
Когда данные встроенных в C# типов, например int или double, требуется отобразить в удобочитаемой форме, приходится формировать их строковое представление. Несмотря на то что в C# для такого представления данных автоматически предоставляется формат, используемый по умолчанию, имеется также возможность указать выбранный формат вручную. Так, в части I этой книги было показано, что числовые данные можно выводить в формате выбранной денежной единицы. Для форматирования данных числовых типов в C# предусмотрен целый ряд методов, включая методы Console.WriteLine(), String.Format() и ToString(). Во всех этих методах применяется один и тот же подход к форматированию. Поэтому освоив один из них, вы сможете без особого труда применять и другие.
Общее представление о форматированииФорматирование осуществляется с помощью двух компонентов: спецификаторов формата и поставщиков формата. Конкретная форма строкового представления отдельного значения зависит от спецификатора формата. Следовательно, спецификатор формата определяет, в какой именно удобочитаемой форме будут представлены данные. Например, для вывода числового значения в экспоненциальном представлении (т.е. в виде мантиссы и порядка числа) используется спецификатор формата Е.
Как правило, конкретный формат значения зависит от культурных и языковых особенностей локализации программного обеспечения. Например, в Соединенных Штатах Америки денежные суммы указываются в долларах, а в странах ЕС — в евро. Для учета культурных и языковых отличий в C# предусмотрены поставщики формата. В частности, поставщик формата определяет порядок интерпретации спецификатора формата. Поставщик формата создается путем реализации интерфейса IFormatProvider, в котором определяется метод GetFormat(). Для всех встроенных числовых типов и многих других типов данных в среде .NET Framework предопределены соответствующие поставщики формата. Вообще говоря, данные можно отформатировать, не указывая конкретный поставщик формата, поэтому поставщики формата не рассматриваются далее в этой книге.
Для того чтобы отформатировать данные, достаточно включить спецификатор формата в метод, поддерживающий форматирование. О применении спецификаторов формата речь уже шла в главе 3, тем не менее к этому вопросу стоит вернуться вновь. Применение спецификаторов формата рассматривается далее на примере метода Console.WriteLine(), хотя аналогичный подход применим и к другим методам, поддерживающим форматирование.
Для форматирования выводимых данных служит следующая форма метода WriteLine().
WriteLine("форматирующая строка", arg0, arg1, ... , argN) ;
В этой форме аргументы метода WriteLine() разделяются запятой, а не знаком +. А форматирующая строка состоит из двух следующих элементов: обычных печатаемых символов, отображаемых в исходном виде, а также команд форматирования.
- QT 4: программирование GUI на С++ - Жасмин Бланшет - Программирование
- C# для профессионалов. Том II - Симон Робинсон - Программирование
- ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ. РУКОВОДСТВО ПО УПРАВЛЕНИЮ ДОКУМЕНТИРОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ - ГОССТАНДАРТ РОССИИ - Программирование
- Управление исходными текстами. Часть 1. Краткое руководство по CVS - Илья Рыженков - Программирование
- Гибкое управление проектами и продуктами - Борис Вольфсон - Программирование
- Каждому проекту своя методология - Алистэр Коуберн - Программирование
- Разработка ядра Linux - Роберт Лав - Программирование
- Как спроектировать современный сайт - Чои Вин - Программирование
- Творческий отбор. Как создавались лучшие продукты Apple во времена Стива Джобса - Кен Косиенда - Прочая околокомпьтерная литература / Интернет / Программирование
- Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2 - Александр Фролов - Программирование