C# Language
Манипуляция строк
Поиск…
Изменение случая символов внутри строки
Класс System.String
поддерживает ряд методов для преобразования между строчными и строчными символами в строке.
-
System.String.ToLowerInvariant
используется для возврата объекта String, преобразованного в нижний регистр.
-
System.String.ToUpperInvariant
используется для возврата объекта String, преобразованного в верхний регистр.
Примечание . Причина использования инвариантных версий этих методов заключается в предотвращении создания неожиданных букв, специфичных для конкретной культуры. Это объясняется здесь подробно .
Пример:
string s = "My String";
s = s.ToLowerInvariant(); // "my string"
s = s.ToUpperInvariant(); // "MY STRING"
Обратите внимание, что вы можете указать конкретную Культуру при преобразовании в строчные и прописные буквы, используя методы String.ToLower (CultureInfo) и String.ToUpper (CultureInfo) соответственно.
Поиск строки внутри строки
Используя System.String.Contains
вы можете узнать, существует ли определенная строка внутри строки. Метод возвращает логическое значение, true, если строка существует else false.
string s = "Hello World";
bool stringExists = s.Contains("ello"); //stringExists =true as the string contains the substring
Используя метод System.String.IndexOf
, вы можете найти начальную позицию подстроки в пределах существующей строки.
Обратите внимание, что возвращенная позиция основана на нуле, возвращается значение -1, если подстрока не найдена.
string s = "Hello World";
int location = s.IndexOf("ello"); // location = 1
Чтобы найти первое местоположение из конца строки, используйте метод System.String.LastIndexOf
:
string s = "Hello World";
int location = s.LastIndexOf("l"); // location = 9
Удаление (обрезка) белого пространства из строки
Метод System.String.Trim
можно использовать для удаления всех символов верхнего и нижнего пробелов из строки:
string s = " String with spaces at both ends ";
s = s.Trim(); // s = "String with spaces at both ends"
К тому же:
Чтобы удалить пустое пространство только с начала строки, используйте:
System.String.TrimStart
Чтобы удалить пустое пространство только с конца строки, используйте:
System.String.TrimEnd
Подстрока для извлечения части строки.
Метод System.String.Substring
может использоваться для извлечения части строки.
string s ="A portion of word that is retained";
s=str.Substring(26); //s="retained"
s1 = s.Substring(0,5); //s="A por"
Замена строки в строке
Используя метод System.String.Replace
, вы можете заменить часть строки другой строкой.
string s = "Hello World";
s = s.Replace("World", "Universe"); // s = "Hello Universe"
Все вхождения строки поиска заменяются:
string s = "Hello World";
s = s.Replace("l", "L"); // s = "HeLLo WorLD"
String.Replace
также можно использовать для удаления части строки, указав пустую строку в качестве значения замены:
string s = "Hello World";
s = s.Replace("ell", String.Empty); // s = "Ho World"
Разделение строки с использованием разделителя
Используйте метод System.String.Split
для возврата строкового массива, который содержит подстроки исходной строки, разделенные на определенный разделитель:
string sentence = "One Two Three Four";
string[] stringArray = sentence.Split(' ');
foreach (string word in stringArray)
{
Console.WriteLine(word);
}
Выход:
Один
Два
Три
четыре
Объединение массива строк в одну строку
Метод System.String.Join
позволяет объединить все элементы в массив строк, используя указанный разделитель между каждым элементом:
string[] words = {"One", "Two", "Three", "Four"};
string singleString = String.Join(",", words); // singleString = "One,Two,Three,Four"
Конкатенация строк
Конкатенация строк может быть выполнена с помощью метода System.String.Concat
или (намного проще) с помощью оператора +
:
string first = "Hello ";
string second = "World";
string concat = first + second; // concat = "Hello World"
concat = String.Concat(first, second); // concat = "Hello World"