Работа со строками. Класс System.String
Содержание
- 1. Как инициализировать переменную типа String?
- 2. Как очистить строку типа String?
- 3. Как определить равны ли две строки типа String между собой?
- 4. Как сравнить две строки типа String в лексикографическом порядке?
- 5. Как соединить две строки типа String?
- 6. Как скопировать одну строку типа String в другую?
- 7. Копирование строк типа String с использованием метода Copy().
- 8. Вставка подстроки начиная с заданного индекса. Функция Insert().
- 9. Поиск и возвращение индекса первого вхождения подстроки в данную строку.
- 10. Поиск и возвращение индекса последнего вхождения подстроки в данную строку функцией LastIndexOf().
- 11. Как определить длину строки типа String?
- 12. Создание строки заданной ширины. Демонстрация функций PadLeft() и PadRight().
- 13. Удаление заданного количества символов из строки функцией Remove().
- 14. Замена всех символов в строке. Функция Replace().
- 15. Как в строке выделить подстроку. Функция Substring().
- 16. Преобразование числовой строки в 32-битное целое число. Функция Parse().
- 17. Преобразование целого числа в строку. Функция ToString().
- 18. Преобразование строки в соответствующее вещественное число (с плавающей запятой).
- 19. Преобразование соответствующего вещественного числа в строку.
- 20. Преобразование значения переменной логического типа в строку.
- Связанные темы
Поиск на других ресурсах:
Ответы
Класс System.String представляет текст как последовательность символов Unicode.
1. Как инициализировать переменную типа String?
String ^s1 = "873"; // s1 = "873"
⇑
2. Как очистить строку типа String?
String ^s1 = "Hello!"; String ^s2; s2 = s1; // s2 = "Hello!" s2 = s1->Empty; // s2 = ""
⇑
3. Как определить равны ли две строки типа String между собой?
String ^s1 = "Hello!"; String ^s2 = "Hello!"; int res; if (s1 == s2) res = 1; else res = 0;
⇑
4. Как сравнить две строки типа String в лексикографическом порядке?
В этом случае можно использовать метод Compare(). Метод возвращает -1, 0 или 1.
В приведенном примере видно результат работы метода.
String ^s1 = "Hello!"; String ^s2 = "Hello"; int res; res = s1->Compare(s1,s2); // res = 1 res = s2->Compare(s2,s1); // res = -1 res = s2->Compare(s1,s2); // res = 1 s2 = s1; res = s1->Compare(s1,s2); // res = 0 res = s1->Compare(s2,s1); // res = 0
⇑
5. Как соединить две строки типа String?
Способ №1 — функция Concat().
String ^s1 = "Hello "; String ^s2 = "world!"; String ^s3; s3 = s1->Concat(s1,s2); // s3 = "Hello world!"
Способ №2. Оператор «+«.
String ^s1 = "Hello "; String ^s2 = "world!"; String ^s3; s3 = s1 + s2; // s3 = "Hello world!"
⇑
6. Как скопировать одну строку типа String в другую?
String ^s1 = "My String"; String ^s2; s2 = s1; // s2 = "My String"
⇑
7. Копирование строк типа String с использованием метода Copy().
String ^s1 = "MyString "; String ^s2; s2 = s1->Copy(s1); // s2 = "My String"
⇑
8. Вставка подстроки начиная с заданного индекса. Функция Insert().
Для вставки подстроки используется функция Insert(). Функция принимает два параметра. Первый параметр – позиция индекса в строке, из которой делается вставка (начинается с 0). Второй параметр – текст самой строки.
String ^s1 = "123789"; String ^s2; s2 = s1->Insert(3, "456"); // s2 = "123456789" s1 = "123789"; s2 = s1->Insert(0, "456"); // s2 = "456123789" // ошибка компиляции с сообщением: // "Specified argument was out of the range of valid values" // "Parameter name: startIndex" // s2 = s1->Insert(19, "456");
Позиция индекса в функции Insert() начинается с 0.
⇑
9. Поиск и возвращение индекса первого вхождения подстроки в данную строку.
Реализуется функцией IndexOf(). Если найдена подстрока в строке, то функция возвращает позицию первого вхождения. Иначе случае функция возвращает -1.
Функция имеет перегруженные варианты реализации.
String ^s1 = "Hello world!"; int index; index = s1->IndexOf("wor"); // index = 6 index = s1->IndexOf("ab"); // index = -1 => не нашло подстроку "ab" в строке "Hello world!" index = s1->IndexOf("wor",7); // index = -1 - поиск из позиции 7 index = s1->IndexOf("wor",0); // index = 6 - поиск из позиции 0 // поиск идет от заданного индекса (3) // и проверяется заданное количество символов (5) index = s1->IndexOf("wo",3,5); // index = 6
⇑
10. Поиск и возвращение индекса последнего вхождения подстроки в данную строку функцией LastIndexOf().
String ^s1 = "text-text-text"; int index; index = s1->LastIndexOf("text"); // index = 10
⇑
11. Как определить длину строки типа String?
Для определения длины строки типа String используется свойство Length.
String ^s1 = "abcdef"; int len; len = s1->Length; // len = 6 s1 = ""; len = s1->Length; // len = 0
⇑
12. Создание строки заданной ширины. Демонстрация функций PadLeft() и PadRight().
Функции PadLeft() и PadRight() используются для создания форматированной строки, в которой позиции справа или слева заполняются пробелами.
String ^s1 = "abc"; String ^s2; s2 = s1->PadLeft(5); // s2 = " abc" s2 = s1->PadLeft(2); // s2 = "abc" s2 = s1->PadLeft(9); // s2 = " abc" // ошибка "Non-negative number required." // s2 = s1->PadLeft(-2); s2 = s1->PadRight(3); // s2 = "abc" s2 = s1->PadRight(8); // s2 = "abc "
⇑
13. Удаление заданного количества символов из строки функцией Remove().
String ^s1 = "0123456789"; String ^s2; s2 = s1->Remove(3,2); // s2 = "01256789"
⇑
14. Замена всех символов в строке. Функция Replace().
String ^s1 = "0123456789"; String ^s2; s2 = s1->Replace(s1,"22"); // s2 = "22"
⇑
15. Как в строке выделить подстроку. Функция Substring().
String ^s1 = "Automobile"; String ^s2; // вариант № 1 - выделяет подстроку с заданной // позиции до конца строки s2 = s1->Substring(4); // s2 = "mobile" // вариант № 2 - выделяет подстроку с заданной // позиции (параметр 1) в заданном количестве символов (параметр 2) s2 = s1->Substring(0,4); // s2 = "Auto"
⇑
16. Преобразование числовой строки в 32-битное целое число. Функция Parse().
// String => int int i; String ^s1 = "280"; i = i.Parse(s1); // i = 280 i = i.Parse("-32"); // i = -32
⇑
17. Преобразование целого числа в строку. Функция ToString().
// int => String int i; String ^s1; i = 350; s1 = i.ToString(); // s1 = 350
⇑
18. Преобразование строки в соответствующее вещественное число (с плавающей запятой).
// String => double double x; String ^s1; s1 = "12,87"; x = x.Parse(s1); // x = 12.87
⇑
19. Преобразование соответствующего вещественного числа в строку.
// double => String double x; String ^s1; x = -3.568; s1 = x.ToString(); // s1 = "-3.568
⇑
20. Перевод значения переменной логического типа в строку.
// String => bool bool b; String ^s1; s1 = "true"; b = b.Parse(s1); // b = True