Работа со строками в C#

Работа со строками составляет важную часть процессов программирования приложений. Операции над строками включают: создание строки, копирование строки, вставку строки, извлечение подстроки, извлечение символа и др. Базовыми классами для строк являются string и string. Первый из них содержит полный арсенал средств для работы со строками, второй является простым классом, но также предоставляет ряд методов для оперирования строками. Количество символов в строке определяется с помощью свойства Length, например: int i=mystr.Length;

Команда int pos= mystr.indexOf("cTpaHa") определяет позицию первого вхождения подстроки "страна" в строке mystr.

Команда int pos= mystr.IndexOf("CTpaHa",5) отыскиваетпервое вхождение подстроки "страна", начиная с пятого символа строки mystr, а команда int pos= mystr. IndexOf ( "страна", 5, 20) ограничивает поиск между 5-м и 20-м символами.

Команда string s = mystr.substring(ind) позволяетполучить подстроку строки mystr, начиная с символа ind, и до конца. Команда string s= mystr.Substring(il,i2) ПОЗВОЛЯбТ ВЫДелить подстроку с позиции il и содержащую число символов i2.

Соединение строк осуществляется следующими способами:

string s= String.Concat(sl,s2);

Здесь строка s получает значение конкатенации (соединения) строк sl и s2.

string s = sl+s2; // Соединение выполняет перегруженный // оператор +.

Оператор + позволяет добавить к строке не-строку:

string s= ""+DateTime.Now; // Добавление к пустой строке

// нами широко использовалось ранее

Сравнение строк выполняется так:

int i= String.Compare(sl,s2,true);

Результат этой команды определяется следующим образом:

□               i=i, если строка si>s2 (">" понимается в лексикографическом смысле);

□               i=o, если строка si=s2 ("=" понимается как совпадение);

□               i=-i, если строка si<s2 ("<" понимается в лексикографическом смысле).

Можно сравнивать строки и так:

if (sl==s2) {}

ИЛИ

if (sl.Equals(s2)) {…}.

Вставку подстроки в строку выполняет команда:

string s = mystr.Insert(index, "что вставляем");

Эта команда вставляет подстроку "что вставляем” в строку mystr.

Удаление части строки реализует оператор:

string s= mystr.Remove(indl, ind2);

Удаляются символы, ограниченные позициями indl и ind2.

Замена символов реализуется так:

string s = mystr.Replace(‘a’,V); // Буква а заменяется на

// букву b

Замена одной подстроки на другую выполняется так:

string s= mystr.Replace("hello","good bye");

Перевод строки в верхний и нижний регистры выполняются, соответственно, так:

s=s.ToUpper(); s=s.ToLower();

Проверка начала строки с указанной подстроки реализуется таким образом:

if (mystr.StartsWith("Hello") ) {…}

Аналогично, проверка завершения строки указанной подстрокой реализуется таким образом:

if (mystr.EndsWith ("Hello") ) {…}

Оператор spiit позволяет сформировать массив строк из одной большой строки, используя символ расщепления строки, как показано далее:

String s="Hello, You, there "; string [] mystrarray=s.Split(","); foreach (string st in mystrarray)

{

Console.WriteLine(st);

}

Здесь разделителем является символ запятой. Будет сформирован строковый массив из трех строк: "Hello", "You", "there".

Интересным классом для работы со строками является класс stringBuiider. Этот класс работает со строками как с последовательностями символов. Он позволяет добавлять, удалять, вставлять и замещать символы. Например:

String s= "Hello";

StringBuiider sb= new StringBuilder(s);// Создает переменную

// класса StringBuiider

sb.Append(", You — programmer of my heart ! "); // Добавляет

// к ней новую // строку

sb.Insert(4, "Hello again"); // Вставляет фразу "Hello again"

// после 4—го символа sb.Remove(0,4); // Удаляет первое слово Hello s=sb.ToString(); // Выполняет присваивание строке s

Источник: Герман О. B., Герман Ю. О., Программирование на Java и C# для студента. — СПб.: БХВ-Петербург, 2005. — 512 c.: ил.

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100