Поделиться через


Сокращение и удаление знаков

Обновлен: Ноябрь 2007

При разборе предложения на отдельные слова может оказаться, что некоторые слова на обоих концах содержат пропуски (пробелы). В этом случае для удаления ряда пропусков или других знаков из указанного места строки используются методы сокращения из класса System.String. В следующей таблице представлены доступные методы сокращения.

Название метода

Использование

String.Trim

Удаление пробелов из начала и конца строки.

String.TrimEnd

Удаление знаков, указанных в массиве знаков, из конца строки.

String.TrimStart

Удаление знаков, указанных в массиве знаков, из начала строки.

String.Remove

Удаление указанного числа знаков из указанной позиции индекса в строке.

Trim

Простым методом удаления пробелов из обоих концов строки является метод String.Trim, использование которого показано в следующем примере.

Dim MyString As String = " Big   "
Console.WriteLine("Hello{0}World!", MyString)
Dim TrimString As String = MyString.Trim()
Console.WriteLine("Hello{0}World!", TrimString)
String MyString = " Big   ";
Console.WriteLine("Hello{0}World!", MyString );    
string TrimString = MyString.Trim();
Console.WriteLine("Hello{0}World!", TrimString );

Этот код выводит на консоль следующие строки:

Hello Big   World!
HelloBigWorld! 

TrimEnd

Метод String.TrimEnd удаляет знаки из конца строки, создавая новый объект строки. Массив знаков передается этому методу для указания удаляемых знаков. Порядок элементов в массиве знаков не влияет на операцию сокращения. Сокращение прекращается, если найденный знак не указан в массиве.

В следующем примере удаляются последние буквы строки с помощью метода TrimEnd. В этом примере положение знаков 'r' и 'W' изменено для иллюстрации того, что порядок знаков в массиве не имеет значения. Обратите внимание, что этот код удаляет последнее слово MyString и часть первого.

Dim MyString As String = "Hello World!"
Dim MyChar As Char() =  {"r"c, "o"c, "W"c, "l"c, "d"c, "!"c, " "c }
Dim NewString As String = MyString.TrimEnd(MyChar)
Console.WriteLine(NewString)
string MyString = "Hello World!";
char[] MyChar = {'r','o','W','l','d','!',' '};
string NewString = MyString.TrimEnd(MyChar);
Console.WriteLine(NewString);

Этот код выводит текст He на консоль.

В следующем примере с помощью метода TrimEnd удаляется последнее слово строки. В этом коде за словом Hello следует запятая, и, поскольку запятая не указана в массиве знаков для сокращения, сокращение прекращается на запятой.

Dim MyString As String = "Hello, World!"
Dim MyChar As Char() =  {"r"c, "o"c, "W"c, "l"c, "d"c, "!"c, " "c }
Dim NewString As String = MyString.TrimEnd(MyChar)
Console.WriteLine(NewString)
string MyString = "Hello, World!";
char[] MyChar = {'r','o','W','l','d','!',' '};
string NewString = MyString.TrimEnd(MyChar);
Console.WriteLine(NewString);

Этот код выводит текст Hello, на консоль.

TrimStart

Метод String.TrimStart аналогичен методу String.TrimEnd, за исключением того, что он создает новую строку, удаляя знаки из начала существующего объекта строки. Массив знаков передается методу TrimStart для указания удаляемых знаков. Как и в методе TrimEnd, порядок элементов в массиве знаков не влияет на операцию сокращения. Сокращение прекращается, если найденный знак не указан в массиве.

В следующем примере удаляется первое слово строки. В этом примере положение знаков 'l' и 'H' изменено для иллюстрации того, что порядок знаков в массиве не имеет значения.

Dim MyString As String = "Hello World!"
Dim MyChar As Char() =  {"e"c, "H"c, "l"c, "o"c, " "c}
Dim NewString As String = MyString.TrimStart(MyChar)
Console.WriteLine(NewString)
string MyString = "Hello World!";
char[] MyChar = {'e', 'H','l','o',' ' };
string NewString = MyString.TrimStart(MyChar);
Console.WriteLine(NewString);

Этот код выводит текст World! на консоль.

Remove

Метод String.Remove удаляет указанное число знаков, начиная с указанного места в существующей строке. В этом методе предполагается, что индексация начинается с нуля.

В следующем примере удаляются десять знаков из строки, начиная с пятой позиции индекса строки, начинающегося с нуля.

Dim MyString As String = "Hello Beautiful World!"
Console.WriteLine(MyString.Remove(5, 10))
string MyString = "Hello Beautiful World!";   
Console.WriteLine(MyString.Remove(5,10));

Этот код выводит текст Hello World! на консоль.

См. также

Другие ресурсы

Основные операции со строками