Если вы анализируете предложение на отдельные слова, вы можете получить слова с пустыми пробелами (также называемыми пробелами) на обоих концах слова. В этом случае можно использовать один из методов обрезки в System.String классе , чтобы удалить любое количество пробелов или других символов из указанной позиции в строке. В следующей таблице описаны доступные методы обрезки.
String.Trim | Удаление пробелов или знаков, указанных в массиве знаков, из начала и конца строки. |
String.TrimEnd | Удаление символов, указанных в массиве символов, в конце строки. |
String.TrimStart | Удаление символов, указанных в массиве символов, в начале строки. |
String.Remove | Удаление указанного количества символов в указанной позиции индекса в строке. |
Trim
Вы можете легко удалить пробелы с обоих концов строки с помощью String.Trim метода , как показано в следующем примере:
Как удалить последний (или первый) символ в строке Python
String^ MyString = » Big «; Console::WriteLine(«HelloWorld!», MyString); String^ TrimString = MyString->Trim(); Console::WriteLine(«HelloWorld!», TrimString); // The example displays the following output: // Hello Big World! // HelloBigWorld!
string MyString = » Big «; Console.WriteLine(«HelloWorld!», MyString); string TrimString = MyString.Trim(); Console.WriteLine(«HelloWorld!», TrimString); // The example displays the following output: // Hello Big World! // HelloBigWorld!
Dim MyString As String = » Big » Console.WriteLine(«HelloWorld!», MyString) Dim TrimString As String = MyString.Trim() Console.WriteLine(«HelloWorld!», TrimString) ‘ The example displays the following output: ‘ Hello Big World! ‘ HelloBigWorld!
Кроме того, можно удалить символы, указанные в массиве знаков, из начала и конца строки. В следующем примере удаляются пробелы, точки и звездочки:
using System; public class Example < public static void Main() < String header = «* A Short String. *»; Console.WriteLine(header); Console.WriteLine(header.Trim( new Char[] < ‘ ‘, ‘*’, ‘.’ >)); > > // The example displays the following output: // * A Short String. * // A Short String
Module Example Public Sub Main() Dim header As String = «* A Short String. *» Console.WriteLine(header) Console.WriteLine(header.Trim()) End Sub End Module ‘ The example displays the following output: ‘ * A Short String. * ‘ A Short String
TrimEnd
Метод String.TrimEnd удаляет символы из конца строки, создавая новый строковый объект. Для указания символов, которые следует удалять, в этот метод передается массив символов. Порядок элементов в массиве символов не влияет на операцию обрезки. В случае обнаружения символа, который отсутствует в массиве, операция останавливается.
В следующем примере удаляются последние буквы строки с помощью TrimEnd метода . В этом примере положение символа ‘r’ и символа ‘W’ повернуты обратно, чтобы проиллюстрировать, что порядок символов в массиве не имеет значения. Обратите внимание, что этот код удаляет последнее слово MyString и часть первого.
Удаление элементов списка по условию. Решение задачи на Python
String^ MyString = «Hello World!»; array^ MyChar = ; String^ NewString = MyString->TrimEnd(MyChar); Console::WriteLine(NewString);
string MyString = «Hello World!»; char[] MyChar = ; string NewString = MyString.TrimEnd(MyChar); Console.WriteLine(NewString);
Dim MyString As String = «Hello World!» Dim MyChar() As Char = Dim NewString As String = MyString.TrimEnd(MyChar) Console.WriteLine(NewString)
Этот код выводит на консоль значение He .
В следующем примере удаляется последнее слово строки с помощью TrimEnd метода . В этом коде запятая следует за словом Hello . Так как запятая не указана в массиве символов для обрезки, обрезка заканчивается запятой.
String^ MyString = «Hello, World!»; array^ MyChar = ; String^ NewString = MyString->TrimEnd(MyChar); Console::WriteLine(NewString);
string MyString = «Hello, World!»; char[] MyChar = ; string NewString = MyString.TrimEnd(MyChar); Console.WriteLine(NewString);
Dim MyString As String = «Hello, World!» Dim MyChar() As Char = Dim NewString As String = MyString.TrimEnd(MyChar) Console.WriteLine(NewString)
Этот код выводит на консоль значение Hello, .
TrimStart
Метод String.TrimStart аналогичен методу , String.TrimEnd за исключением того, что он создает новую строку путем удаления символов из начала существующего строкового объекта. Массив символов передается методу TrimStart для указания удаляемых символов. Как и в случае с методом TrimEnd , порядок элементов в массиве символов не влияет на операцию обрезки. В случае обнаружения символа, который отсутствует в массиве, операция останавливается.
В следующем примере удаляется первое слово в строке. В этом примере положение символа ‘l’ и символа ‘H’ повернуты обратно, чтобы проиллюстрировать, что порядок символов в массиве не имеет значения.
String^ MyString = «Hello World!»; array^ MyChar = ; String^ NewString = MyString->TrimStart(MyChar); Console::WriteLine(NewString);
string MyString = «Hello World!»; char[] MyChar = ; string NewString = MyString.TrimStart(MyChar); Console.WriteLine(NewString);
Dim MyString As String = «Hello World!» Dim MyChar() As Char = Dim NewString As String = MyString.TrimStart(MyChar) Console.WriteLine(NewString)
Этот код выводит на консоль значение World! .
Удалить
Метод String.Remove удаляет указанное количество знаков, начиная с указанного места в существующей строке. Этот метод подразумевает, что отсчет индекса начинается с нуля.
В следующем примере удаляется 10 символов из строки, начинающейся с пятой позиции отсчитываемого от нуля индекса строки.
String^ MyString = «Hello Beautiful World!»; Console::WriteLine(MyString->Remove(5,10)); // The example displays the following output: // Hello World!
string MyString = «Hello Beautiful World!»; Console.WriteLine(MyString.Remove(5,10)); // The example displays the following output: // Hello World!
Dim MyString As String = «Hello Beautiful World!» Console.WriteLine(MyString.Remove(5, 10)) ‘ The example displays the following output: ‘ Hello World!
Замените
Чтобы удалить из строки указанный символ или подстроку, можно вызвать метод String.Replace(String, String) и указать пустую строку (String.Empty) в качестве замены. В следующем примере удаляются все запятые из строки:
using System; public class Example < public static void Main() < String phrase = «a cold, dark night»; Console.WriteLine(«Before: «, phrase); phrase = phrase.Replace(«,», «»); Console.WriteLine(«After: «, phrase); > > // The example displays the following output: // Before: a cold, dark night // After: a cold dark night
Module Example Public Sub Main() Dim phrase As String = «a cold, dark night» Console.WriteLine(«Before: «, phrase) phrase = phrase.Replace(«,», «») Console.WriteLine(«After: «, phrase) End Sub End Module ‘ The example displays the following output: ‘ Before: a cold, dark night ‘ After: a cold dark night
См. также
Источник: learn.microsoft.com
Удаление символов из строки
K т.к запись идет по счетчику j , а он увеличивается лишь тогда, когда символы из строки и для удаления не совпадают.
Алгоритм удаления тех символов строки, которые встречаются в другой строке, отличается от предыдущего тем, что нужно по очереди извлекать символы из второй строки и удалять их из первой. Т.е. приведенный выше алгоритм следует вложить в цикл перебора символов второй строки.
Удаление всех символов c из строки
#include #define MAX 100 void squeeze (char s[], int c); main () char str0[MAX]; int i, c; for (i = 0; (c = getchar()) != ‘n’; i++) str0[i] = c; str0[i] = ‘