Добавить в цитаты Настройки чтения

Страница 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 = &quot;тест&quot;;</b>

<b>    Console.WriteLine(&quot;Исходная строка: &quot; + str);</b>

<b>    // Заполнить строку пробелами слева,</b>

<b>    str = str.PadLeft(10);</b>

<b>    Console.WriteLine(&quot;|&quot; + str + &quot;|&quot;);</b>

<b>    // Заполнить строку пробелами справа,</b>

<b>    str = str.PadRight(20);</b>

<b>    Console.WriteLine(&quot;|&quot; + str + &quot;|&quot;);</b>

<b>    // Обрезать пробелы,</b>

<b>    str = str.Trim();</b>

<b>    Console.WriteLine(&quot;|&quot; + str + &quot;|&quot;);</b>

<b>    // Заполнить строку символами # слева,</b>

<b>    str = str.PadLeft(10, '#');</b>

<b>    Console.WriteLine (&quot;|&quot; + str + &quot;|&quot;);</b>

<b>    // Заполнить строку символами # справа,</b>

<b>    str = str.PadRight(20, '#');</b>

<b>    Console.WriteLine(&quot;|&quot; + str + &quot;|&quot;);</b>

<b>    // Обрезать символы #.</b>

<b>    str = str.Trim('#');</b>

<b>    Console.WriteLine(&quot;|&quot; + str + &quot;|&quot;);</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>