Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Классы string и stringBilder. Регулярные выражения. (Лекция 10)

Содержание

Объекты класса String У класса String достаточно много конструкторов. Они позволяют сконструировать строку из:- символа, повторенного заданное число раз;- массива символов char[ ];- части массива символов.
Классы string и stringBilder. Регулярные выражения Лекция №10 Объекты класса String У класса String достаточно много конструкторов. Они позволяют сконструировать строку из:- символа, public void TestDeclStrings()  { string world = Операции над строкамиНад строками определены следующие операции:присваивание (=);две операции проверки эквивалентности (= Неизменяемый класс stringВ языке C# существует понятие неизменяемый (immutable) класс. Для такого Примеры работы// Сравним первые две строки string s1 = // Последнее вхождение подстроки if (s2.LastIndexOf( / / Определяем начинается ли строка с заданной подстроки if (s2.StartsWith( Класс StringBuilder. Конструкторыpublic StringBuilder (string str, int cap). Параметр str задает строку Операции над строкамиНад строками этого класса определены практически те же операции с Особенность класса StringBuilderСо строкой этого класса можно работать как с массивом, но, Методы StringBuilderpublic StringBuilder Append (). К строке, вызвавшей метод, присоединяется строка, полученная Примеры работы//Методы Insert, Append, AppendFormat StringBuilder strbuild = new StringBuilder(); string str Примеры работы Емкость буфераКаждый экземпляр строки класса StringBuilder имеет буфер, в котором хранится строка. Регулярные выраженияОснова обработки текста с помощью регулярных выражений — это подсистема обработки Регулярные выраженияМинимальный набор сведений, который требуется предоставить подсистеме обработки регулярных выражений для Методы класса Regex•	Определить, встречается ли во входном тексте шаблон регулярного выражения, Примеры работыpublic static void Main()  {   string pattern = Примеры работы Аккредитационная задачаИспользуя регулярные выражения, напишите следующее приложение: дан текст, имеющий структуру «Фамилия StringBuilder text = new StringBuilder();text.Append(
Слайды презентации

Слайд 2 Объекты класса String 
У класса String достаточно много конструкторов. Они позволяют

Объекты класса String У класса String достаточно много конструкторов. Они позволяют сконструировать строку из:-

сконструировать строку из:
- символа, повторенного заданное число раз;
- массива

символов char[ ];
- части массива символов.


Слайд 3 public void TestDeclStrings() { string world = "Мир"; //string s1 = new

public void TestDeclStrings() { string world =

string("s1"); //string s2 = new string(); string sssss = new string('s',5); char[]

yes = "Yes".ToCharArray(); string stryes = new string(yes); string strye = new string(yes,0,2); Console.WriteLine("world = {0}; sssss={1}; stryes={2};"+ " strye= {3}", world, sssss, stryes, strye); }

Слайд 4 Операции над строками
Над строками определены следующие операции:
присваивание (=);
две

Операции над строкамиНад строками определены следующие операции:присваивание (=);две операции проверки эквивалентности

операции проверки эквивалентности (= =) и (!=);
конкатенация или сцепление

строк (+);
взятие индекса ([]).


Слайд 5 Неизменяемый класс string
В языке C# существует понятие неизменяемый

Неизменяемый класс stringВ языке C# существует понятие неизменяемый (immutable) класс. Для

(immutable) класс. Для такого класса невозможно изменить значение объекта

при вызове его методов. Динамические методы могут создавать новый объект, но не могут изменить значение существующего объекта.

Слайд 8 Примеры работы
// Сравним первые две строки
string s1

Примеры работы// Сравним первые две строки string s1 =

= "это строка";
string s2 = "это текст, а

это строка";
if (String.CompareOrdinal(s1, s2) != 0) Console.WriteLine("Строки s1 и s2 не равны");
if (String.Compare(s1, 0, s2, 13, 10, true) == 0) Console.WriteLine("При этом в них есть одинаковый текст");
// Конкатенация строк Console.WriteLine(String.Concat("\n" + "Один, два ","три, четыре"));
// Поиск в строке // Первое вхождение подстроки
if (s2.IndexOf("это") != -1) Console.WriteLine("Слово \"это\" найдено в строке, оно "+ "находится на: {0} позиции", s2.IndexOf("это"));

Слайд 9 // Последнее вхождение подстроки if (s2.LastIndexOf("это") != -1)

// Последнее вхождение подстроки if (s2.LastIndexOf(

Console.WriteLine("Последнее вхождение слова \"это\" находится " + "на {0}

позиции", s2.LastIndexOf("это"));
// Поиск из массива символов
char[] myCh = {'Ы','х','т'};
if (s2.IndexOfAny(myCh) != -1) Console.WriteLine("Один из символов из массива ch "+ "найден в текущей строке на позиции {0}", s2.IndexOfAny(myCh)); /

Примеры работы


Слайд 10 / / Определяем начинается ли строка с заданной

/ / Определяем начинается ли строка с заданной подстроки if (s2.StartsWith(

подстроки
if (s2.StartsWith("это текст") == true) Console.WriteLine("Подстрока найдена!");
//

Определяем содержится ли в строке подстрока
// на примере определения ОС пользователя string myOS = Environment.OSVersion.ToString();
if (myOS.Contains("NT 5.1")) Console.WriteLine("Ваша операционная система Windows XP");

Примеры работы


Слайд 11 Класс StringBuilder. Конструкторы
public StringBuilder (string str, int cap).

Класс StringBuilder. Конструкторыpublic StringBuilder (string str, int cap). Параметр str задает

Параметр str задает строку инициализации, cap - емкость объекта;
public

StringBuilder (int curcap, int maxcap). Параметры curcap и maxcap задают начальную и максимальную емкость объекта;
public StringBuilder (string str, int start, int len, int cap). Параметры str, start, len задают строку инициализации, cap - емкость объекта.


Слайд 12 Операции над строками
Над строками этого класса определены практически

Операции над строкамиНад строками этого класса определены практически те же операции

те же операции с той же семантикой, что и

над строками класса String:
присваивание (=);
две операции проверки эквивалентности (= =) и (!=);
взятие индекса ([]).
Операция конкатенации (+) не определена над строками класса StringBuilder, ее роль играет метод Append, дописывающий новую строку в хвост уже существующей.

Слайд 13 Особенность класса StringBuilder
Со строкой этого класса можно работать

Особенность класса StringBuilderСо строкой этого класса можно работать как с массивом,

как с массивом, но, в отличие от класса String,

в нем допускается изменение символа.

Слайд 14 Методы StringBuilder
public StringBuilder Append (). К строке, вызвавшей

Методы StringBuilderpublic StringBuilder Append (). К строке, вызвавшей метод, присоединяется строка,

метод, присоединяется строка, полученная из объекта, который передан методу

в качестве параметра.
public StringBuilder Insert (int location,<объект>). Метод вставляет строку, полученную из объекта, в позицию, указанную параметром location.
public StringBuilder Remove (int start, int len). Метод удаляет подстроку длины len, начинающуюся с позиции start;
public StringBuilder Replace (string str1,string str2). Все вхождения подстроки str1 заменяются на строку str2;
public StringBuilder AppendFormat (<строка форматов>, <объекты>). Метод является комбинацией метода Format класса String и метода Append.

Слайд 15 Примеры работы
//Методы Insert, Append, AppendFormat StringBuilder strbuild = new

Примеры работы//Методы Insert, Append, AppendFormat StringBuilder strbuild = new StringBuilder(); string

StringBuilder(); string str = "это  это не "; strbuild.Append(str); strbuild.Append(true); strbuild.Insert(4,false); strbuild.Insert(0,"2*2=5

- "); Console.WriteLine(strbuild); string txt = "А это пшеница, которая в темном чулане  хранится," +" в доме, который построил Джек!"; StringBuilder txtbuild = new StringBuilder(); int num =1; foreach(string sub in txt.Split(',')) { txtbuild.AppendFormat(" {0}: {1}\n ", num++,sub); } str = txtbuild.ToString(); Console.WriteLine(str);

Слайд 16 Примеры работы

Примеры работы

Слайд 17 Емкость буфера
Каждый экземпляр строки класса StringBuilder имеет буфер,

Емкость буфераКаждый экземпляр строки класса StringBuilder имеет буфер, в котором хранится

в котором хранится строка. Объем буфера - его емкость

- может меняться в процессе работы со строкой.
свойство Capacity - возвращает или устанавливает текущую емкость буфера;
свойство MaxCapacity - возвращает максимальную емкость буфера. Результат один и тот же для всех экземпляров класса;
метод int EnsureCapacity (int capacity) - позволяет уменьшить емкость буфера.

Слайд 18 Регулярные выражения
Основа обработки текста с помощью регулярных выражений

Регулярные выраженияОснова обработки текста с помощью регулярных выражений — это подсистема

— это подсистема обработки регулярных выражений, представленная в платформе

.NET Framework объектом System.Text.RegularExpressions.Regex. 


Слайд 19 Регулярные выражения
Минимальный набор сведений, который требуется предоставить подсистеме

Регулярные выраженияМинимальный набор сведений, который требуется предоставить подсистеме обработки регулярных выражений

обработки регулярных выражений для обработки текста с помощью регулярных

выражений, сводится к двум вещам.
Шаблон регулярного выражения, который требуется найти в тексте.(pattern)
Текст, который требуется проанализировать с помощью шаблона регулярного выражения.


Слайд 20 Методы класса Regex
• Определить, встречается ли во входном

Методы класса Regex•	Определить, встречается ли во входном тексте шаблон регулярного

тексте шаблон регулярного выражения, можно путем вызова метода IsMatch.


Извлечь из текста одно или все вхождения, соответствующие шаблону регулярного выражения, можно путем вызова метода Match или Matches.
Заменить текст, соответствующий шаблону регулярного выражения, можно путем вызова метода Replace.


Слайд 21 Примеры работы
public static void Main() {

Примеры работыpublic static void Main() {  string pattern = @


string pattern = @"\b(\w+?)\s\1\b";
string input

= "This this is a nice day. What about this? This tastes good. I saw a a dog.";
foreach (Match match in Regex.Matches(input, pattern, RegexOptions.IgnoreCase))
Console.WriteLine("{0} (duplicates '{1}') at position {2}", match.Value, match.Groups[1].Value, match.Index); }

Слайд 22 Примеры работы

Примеры работы

Слайд 23 Аккредитационная задача
Используя регулярные выражения, напишите следующее приложение: дан

Аккредитационная задачаИспользуя регулярные выражения, напишите следующее приложение: дан текст, имеющий структуру

текст, имеющий структуру «Фамилия И.О. – улица – номер

дома – квартира – номер телефона». Вывести на экран фамилии всех абонентов, проживающих на улице Реввоенсовета.


  • Имя файла: klassy-string-i-stringbilder-regulyarnye-vyrazheniya-lektsiya-10.pptx
  • Количество просмотров: 127
  • Количество скачиваний: 0