Страница 383 из 502
Иногда в строке требуется удалить начальные и конечные пробелы. Такая операция называется обрезкой и нередко требуется в командных процессорах. Например, программа ведения базы данных способна распознавать команду "print", но пользователь может ввести эту команду с одним или несколькими начальными и конечными пробелами. Поэтому перед распознаванием введенной команды необходимо удалить все подобные пробелы. С другой стороны, строку иногда требуется заполнить пробелами, чтобы она имела необходимую минимальную длину. Так, если подготавливается вывод результатов в определенном формате, то каждая выводимая строка должна иметь определенную длину, чтобы сохранить выравнивание строк. Для упрощения подобных операций в C# предусмотрены соответствующие методы.
Для обрезки строк используется одна из приведенных ниже форм метода Trim().
<b>public string Trim()</b>
<b>public string Trim(params char[] <i>trimChars)</i></b>
В первой форме метода Trim() из вызывающей строки удаляются начальные и конечные пробелы. А во второй форме этого метода удаляются начальные и конечные вхождения в вызывающей строке символов из массива trimChars. В обеих формах возвращается получающаяся в итоге строка.
Строку можно заполнить символами слева или справа. Для заполнения строки слева служат такие формы метода PadLeft().
<b>public string PadLeft(int totalWidth)</b>
<b>public string PadLeft(int totalWidth, char paddingChar)</b>
В первой форме метода PadLeft() вводятся пробелы с левой стороны вызывающей строки, чтобы ее общая длина стала равной значению параметра totalWidth. А во второй форме данного метода символы, обозначаемые параметром paddingChar, вводятся с левой стороны вызывающей строки, чтобы ее общая длина стала равной значению параметра totalWidth. В обеих формах возвращается получающаяся в итоге строка. Если значение параметра totalWidth меньше длины вызывающей строки, то возвращается копия неизмененной вызывающей строки.
Для заполнения строки справа служат следующие формы метода PadRight().
<b>public string PadRight(int totalWidth)</b>
<b>public string PadRight(int totalWidth, char paddingChar)</b>
В первой форме метода PadLeft() вводятся пробелы с правой стороны вызывающей строки, чтобы ее общая длина стала равной значению параметра totalWidth.
А во второй форме данного метода символы, обозначаемые параметром paddingChar, вводятся с правой стороны вызывающей строки, чтобы ее общая длина стала равной значению параметра totalWidth.B обеих формах возвращается получающаяся в итоге строка. Если значение параметра totalWidth меньше длины вызывающей строки, то возвращается копия неизмененной вызывающей строки.
В приведенном ниже примере программы демонстрируются обрезка и заполнение строк.
<b>// Пример обрезки и заполнения строк.</b>
<b>using System;</b>
<b>class TrimPadDemo {</b>
<b> static void Main() {</b>
<b> string str = "тест";</b>
<b> Console.WriteLine("Исходная строка: " + str);</b>
<b> // Заполнить строку пробелами слева,</b>
<b> str = str.PadLeft(10);</b>
<b> Console.WriteLine("|" + str + "|");</b>
<b> // Заполнить строку пробелами справа,</b>
<b> str = str.PadRight(20);</b>
<b> Console.WriteLine("|" + str + "|");</b>
<b> // Обрезать пробелы,</b>
<b> str = str.Trim();</b>
<b> Console.WriteLine("|" + str + "|");</b>
<b> // Заполнить строку символами # слева,</b>
<b> str = str.PadLeft(10, '#');</b>
<b> Console.WriteLine ("|" + str + "|");</b>
<b> // Заполнить строку символами # справа,</b>
<b> str = str.PadRight(20, '#');</b>
<b> Console.WriteLine("|" + str + "|");</b>
<b> // Обрезать символы #.</b>
<b> str = str.Trim('#');</b>
<b> Console.WriteLine("|" + str + "|");</b>
<b> }</b>
<b>}</b>
Эта программа дает следующий результат.
<b>Исходная строка: тест</b>
<b>| тест|</b>
<b>| тест |</b>
<b>|тест|</b>
<b>|######тест|</b>
<b>|######тест##########|</b>
<b>|тест|</b>
Для вставки одной строки в другую служит приведенный ниже метод Insert():
<b>public string Insert(int startlndex, string value)</b>
где value обозначает строку, вставляемую в вызывающую строку по индексу startlndex. Метод возвращает получившуюся в итоге строку.
Для удаления части строки служит метод Remove(). Ниже приведены две его формы.
<b>public string Remove(int startlndex)</b>