Методы работы со строками

Методы класса предоставляют возможности, например, для удаления или вставки подстроки (Remove, Insert), получения подстроки (Substring), возвращения длины строки (Length), модификации всей строки или ее части (Remove, Replace), представления строки в нижнем или верхнем регистре

(ToUpper, ToLower).

Некоторые методы класса String показываются на примере листинга 148.

Листинг 148

namespace ConsoleApplicationl {

class Program {

static void Main(string[] args)

//Находится длина строки - 11

Console.WriteLine("Информатика".Length);

//Выводится часть строки длиной 5, начиная с символа с индексом 6 - "матика"

Console.WriteLine("Информатика".Substring(5, б)); //Проверка, действительно "Информатика" начинается с "Инф" Console.WriteLine("Информатика".StartsWith("Инф")); //Проверка, действительно "Информатика" заканчивается на

"Инф"

Console.WriteLine("Информатика".EndsWith("Инф"));

//Убрать из строки б символов, начиная с номера 2 -

"Иника"

Console.WriteLine("Информатика".Remove(2, б));

//Вставить в строку перед символом номер 1 другую строку "Моя" результат: ИМоянформатика

Console.WriteLine("Информатика".Insert(1, "Моя")); //Заменить в строке одну часть ("Инфор") на другую ("Мате") результат: Математика

Console.WriteLine("Информатика".Replace("Инфор", "Мате")); Console.ReadLine();

}

}

}

На рис. 157 представлено окно консольной программы с результатами работы программы.

Результаты работы программы

Рис. 157. Результаты работы программы

В табл. 26 представлены наиболее распространенные методы для работы со строками.

Таблица 26. Методы для работы со строками

Название метода (свойства)

Описание метода (свойства), примеры

stroka. Length

Определяет длину строки (количество символов).

private void buttonl_Click(object sender, EventArgs e)

{

string stroka= "Pentium"; int n = stroka.Length ;

MessageBox.Show (n.ToString(),"Работа со строками", MessageBoxButtons.OK) ;

}

В данном примере оператор n = stroka.Length возвратит 7

stroka.IndexOf (simvol)

Номер символа в строке (символы нумеруются с нуля). Если указанного символа в строке нет, то метод возвращает минус 1.

private void buttonl_Click(object sender, EventArgs e)

{

string stroka= "Pentium";

int n = stroka.IndexOf('t') ;

MessageBox.Show (n.ToString(),"Работа со строками", MessageBoxButtons.OK) ;

}

В данном примере оператор n = stroka.IndexOf('t') возвратит 3

stroka.LastlndexO f (simvol)

Номер символа (первого от конца) в строке. Если указанного символа

в строке нет, то метод возвращает минус 1.

private void buttonl_Click(object sender, EventArgs e)

{

string stroka= "Pentium"; int n = stroka.LastlndexOf('P');

MessageBox.Show (n.ToString(), "Работа со строками", MessageBoxButtons.OK) ;

}

В данном примере оператор n = stroka.LastIndexOf(’P’) возвратит 0

stroka.IndexOf (podstroka)

Метод определяет позицию первого обнаружения подстроки

podstroka в строке stroka.

private void buttonl_Click(object sender, EventArgs e)

{

string stroka = "Повидло";

string podstroka = "идло" ;

int n = stroka.IndexOf(podstroka);

MessageBox.Show (n.ToString(), "Работа со строками", MessageBoxButtons.OK) ;

}

В данном примере оператор n = stroka.IndexOf(podstroka) возвратит 3, поскольку подстрока «идло» входит в строку «Повидло» начиная с 3-го символа (символы нумеруются с нуля)

stroka.Trim

Метод удаляет начальные и конечные пробелы в строке stroka.

private void buttonl_Click(object sender, EventArgs e)

{

string stroka = " Повидло

о .

/

stroka = stroka.Trim() ;

MessageBox.Show(stroka, "Работа со строками", MessageBoxButtons.OK);

}

stroka.Substring (nom)

Подстрока, выделенная из строки stroka, начиная с символа с номером пот. Если значение пот больше, чем количество символов в строке, то

возникает исключение ArgumentOutOfRangeException.

private void buttonl_Click(object sender, EventArgs e)

{

string stroka = "Повидло";

string podstroka = stroka.Substring (4) ;

MessageBox.Show(podstroka, "Работа со строками", MessageBoxButtons.OK);

}

В данном примере оператор podstroka = stroka.Substring (4) возвратит «дло», поскольку подстрока «дло» входит в строку «Повидло» начиная с 4-го символа (символы нумеруются с нуля)

stroka. Substring (nom, dlina)

Подстрока длиной dlina символов, выделенная из строки stroka, начиная с символа с номером пот. Если значение пот больше, чем количество символов в строке, или если dlina больше, чем Length — п (где Length — длина строки), то возникает исключение ArgumentOu-tOfRangeException.

private void buttonl_Click(object sender, EventArgs e)

{

string stroka = "Повидло";

string podstroka = stroka.Substring(2, 2); MessageBox.Show(podstroka, "Работа со строками", MessageBoxButtons.OK);

}

В данном примере оператор podstroka = stroka.Substring (2,2) возвра-гит «ви», поскольку подстрока «ви» длиной 2 символа входит в строку «Повидло» начиная со 2-го символа (символы нумеруются с нуля)

stroka.Concat (stroka, stroka 1)

Конкатенация (объединение двух строк).

private void buttonl_Click(object sender, EventArgs e)

{

string stroka = "Повидло"; string strokal = " вкусное";

string stroka_ob = string.Concat(stroka,strokal)

/

MessageBox.Show(stroka_ob, "Работа со строками", MessageBoxButtons.OK);

}

В данном примере оператор stroka_ob = string. Concat(stroka, strokal) возвратит строку «Повидло вкусное»

stroka.Insert (nom, stroka 1)

Строка, полученная путем вставки в строку stroka строки strokal. Параметр пот задает номер символа строки stroka, после которого вставляется строка strokal.

private void buttonl_Click(object sender, EventArgs e)

{

string stroka = "Повидло";

string strokal = " вкусное";

string stroka_ob = stroka.Insert(6,strokal) ;

MessageBox.Show(stroka_ob, "Работа со строками", MessageBoxButtons.OK);

}

В данном примере оператор stroka_ob = stroka.Insert (6,strokal) возвратит строку 'Повидл вкусноео'

stroka.Remove (nom, n)

Строка, полученная путем удаления из строки stroka подстроки pod-stroka. Параметр nom задает положение подстроки, параметр п — ко-личество символов, которое надо удалить. Если значение пот больше, чем количество символов в строке, или если п больше, чем Length — dlina (где Length — длина строки), то возникает исключение Argu-mentOutOtRangeException.

private void buttonl_Click(object sender, EventArgs e)

{

string stroka= "Программирование";

stroka=stroka.Remove (0,3);

MessageBox.Show(stroka, "Работа со строками", MessageBoxButtons.OK);

}

В данном примере оператор stroka = stroka.Remove (0,3) возвратит строку «граммирование». Символы строки нумеруются с нуля, поэтому происходит удаление первых трех символов исходной строки

stroka. Replace (old, new)

Находит и заменяет в строке stroka подстроку old подстрокой new.

private void buttonl_Click(object sender, EventArgs e)

{

string stroka= "Эх раз, еще раз, еще много, много

раз" ;

stroka=stroka.Replace ("еще","вот") ;

MessageBox.Show(stroka, "Работа со строками", MessageBoxButtons.OK);

}

В данном примере оператор stroke = stroka.Replace ("еще","вот") возвратит строку «Эх раз, вот раз, вот много, много раз»

 
< Пред   СОДЕРЖАНИЕ     След >