Символни низове by Monika - Ourboox.com
This free e-book was created with
Ourboox.com

Create your own amazing e-book!
It's simple and free.

Start now

Символни низове

  • Joined Mar 2022
  • Published Books 1

Курсова работа

на тема:

   Символни низове.

       Функции за работа със символни низове. Примери

 

 

 

 

 

 

Изготвил:

Моника Цветанова

12в

№ 17

Габрово, 2022г.

 

2

            Съдържание

 

  1. Определение за символен низ

  2. Дефиниране на символен низ
  3. Извеждане на низ в конзолно приложение

  4. Операции с низове

 

 

 

 

 

 

 

 

 

 

 

3

          Какво е символен низ?

 

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

“Това е низ”. Броят на символите в низа се нарича дължина(length) на низа. Низът може да бъде и с нулева дължина, например ” “, т.е. празен низ.

 

 

 

 

 

 

 

 

 

                                                       3

4

    Дефиниране на символен низ

 

Работата със string ни улеснява при манипулацията на текстови данни: построяване на текстове, търсене в текст и много други операции. Пример за декларация на символен низ:

string greeting = “Hello, C#“;

 

Декларирахме променливата greeting от тип string, която има съдържание “Hello, C#“. Представянето на съдържанието в символния низ изглежда по подобен начин:

H e l l o ,   C #

*Този начин на създаване се нарича още задаване на литерал за символен низ–по този начин задаваме предефинирано текстово съдържание на променливата. Използва се, когато знаем стойността, която трябва да бъде съхранена.

5

Извеждане на низ в конзолно приложение

Извеждането на низ в конзолно приложение става с метода WriteLine(), в скобите на който се изписва име на променлива или константа от тип string:

 

string s =“Здравей”; Console.WriteLine(s);

 

6

Операции с низове

 

 1.Долепване на низове(конкатенация)

Долепването на символни низове и получаването на нов низ като резултат, се нарича конкатенация. Това може да бъде извършено чрез оператора “+”. Например:


string s1 = “Иван”;

string s2 = “Асен”;

string fullName = s1 + ” ” + s2;


Може да се използва и метода Concat().Например:

string firstName = “Иван”;

string lastName = “Петров”;

string fullName = string.Concat(firstName, ” “,lastName);

Резултат:

Иван Петров

 

2. Преминаване само към главни и само към малки букви

 

За преобразуването на всички букви на един низ в малки се използва методът ToLower(), а за преобразуване на всички букви в главни-методът ToUpper().

Например, ако s = “Георги”, след изпълнението на оператора s1 = s.ToLower(); съдържанието на низа s1 ще бъде “георги”. А след изпълнението на оператора s1 = s.ToUpper(); съдържанието на низа s1 ще бъде “ГЕОРГИ”.

 

 

7

3. Търсене на низ в друг низ

 

Методите  IndexOf(…) и LastIndexOf(…) претърсват даден символен низ и прове­ряват дали подаденият като параметър подниз се среща в съдържанието му.

Търсенето при първия метод започва от началото на низа в посока към неговия край, а при втория метод – търсенето се извършва отзад напред. Когато се интересу­ваме от първото срещнато съвпадение, използваме IndexOf(…).

Ако искаме да претърсваме низа от неговия край ползваме LastIndexOf(…). 

Ако шаблонът не е подниз на текста от ляво надясно връщат стойност -1.

Например: Ако стойността на променливата t от тип char е “алабаланица”, тогава:

  • след изпълнението на int d = t.IndecOf(“ала”); стойността на d ще бъде 0;
  • след изпълнението на intt d = t.LastIndexOf(“ала”); стойността на d ще бъде 4;
  • след изпълнението на int d = t.IndexOf(“ааа”); и int d = t.LastIndexOf(“ааа”); стойността на d ще бъде -1.

 

8

4. Лексикографско сравняване на низове

 

Ако искаме да сравним две думи и да получим информация коя от тях е преди другата, според азбучния ред на буквите в нея, на помощ идва методът CompareTo(…). Той ни дава възможност да сравняваме стой­ностите на два символни низа и да установяваме лексикографската им наредба. За да бъдат два низа с еднакви стойности, те трябва да имат една и съща дължина (брой символи) и изграждащите ги символи трябва съответно да си съвпадат. Методът CompareTo(…) от класа String връща отрицателна стойност, 0 или положителна стойност в зависимост от лексико­графската подредба на двата низа, които се сравняват. Отрицателна стойност означава, че първият низ е лексикографски преди втория, нула означава, че двата низа са еднакви, а положителна стойност означава, че вторият низ е лексикографски преди първия. Например:

 

string score = “sCore”;

string scary = “scary”;

Console.WriteLine(score.CompareTo(scary));

Console.WriteLine(scary.CompareTo(score));

Console.WriteLine(scary.CompareTo(scary));

Резултат:

1

-1

0

9

5. Извличане на част от низ

 

В практиката често се налага да извличаме подниз от даден низ. Това може да стане като се укаже от коя позиция започва поднизът и неговата дължина или пък от коя позиция започва поднизът и в коя завършва.

Това става чрез метода Substring(<начало>,<дължина>) с два аргумента-позицията на първия елемент на подниза и дължината му. Например:

 

string s = “Плевен”, s1;

s1=s.Substring(1, 3); Console.WriteLine(s1);

 

ще извлече от променливата s подниза с дължина 3, започващ в позиция 1, т.е. “лев” в променливата s1 и ще изведе този подниз в колоната.

 

s П л е в е н
Индекс 0 1 2 3 4 5

 

 

10

6. Замяна на подниз с друг

 

С помощта на метода Replace(…), ако сме допуснали една и съща техническа грешка при въвеждане на email адреса на даден потребител в официален документ, можем да го заменим по следния начин:

 

string doc = “Hello, [email protected], “ +

 “you have been using [email protected] in your registration.”;

string fixedDoc = doc.Replace([email protected], “[email protected]);

Console.WriteLine(fixedDoc);

 

Резултат:

Hello, [email protected], you have been using [email protected] in your registration.

!!! 

Както се вижда от примера, методът Replace(…) замества всички среща­ния на даден подниз с даден друг подниз, а не само първото. !!!

11

7.Разцепване на низ по разделител

 

За да се изведат в масив от тип string думите, записан в низ, се използва методът Split(), на който подаваме като аргумент раздeлител или масив от разделители. Тъй като в текста може да има съседни разделящи знаци, в масива може да се получат като елементи празни низове. Затова в параметрите на метода подаваме още StringSplitOptions. RemoveEmptyEntries-аргумент,който указва да се приемат като един няколко съседни разделителя. Например, в резултат от изпълнение на фрагмента:

 

static void Main(string[] args)

{ string listOfNames = “Ivan, Simeon, Petur, Georgi”;

char[] separators = new char[] {‘ ‘, ‘,’, ‘.’};

string[] Names = listOfNames.Split(separators, StringSplitOptions.RemoveEmptyEntries);

for(int i=0;i<Names.Length;i++)

{ Console.WriteLine(Names[i]); }
}

 

Резултат:

Ivan

Simeon

Petur

Georgi

 

12

8.Премахване на ненужни символи от низ 

 

За да премахнем знаците без графично изображение(т.е. интервали, знаци за нов ред и знаци за табулация) в началото и в края на низ, използваме метода Trim(). При подаване като аргумент името на масив от знаци, същият метод търси и изтрива само знаците от масива в низа. Ако искаме да премахнем ненужните знаци и празни места само в началото или само в края използваме съответно TrimSmart() и TrimEnd(). Например:

 

static void Main(string[] args)

{ string data1 = “111 $ % Text Example ### s”;

string data2 = “nn Text Example”;

char[] trimCh = new Char[] {‘ ‘, ‘1’, ‘$’, ‘%’, ‘#’, ‘s’};

Console.WriteLine(data1 + “->” + data1.Trim(trimCh));

Console.WriteLine(data1 + “->” + data1.Trim(trimCh));

Console.WriteLine(data2 + “->” + data2.Trim());

Console.WriteLine(data2.Trim());

}

 

Резултат:

111 $ % Text Example ### s ->Text Example

111 $ % Text Example ### s -> 111 $ % Text Example

 

Text Example

Text Example

 

 

13

Използвани източници:

Учебник по информатика за 11клас на издателство “Изкуства”

Глава 13. Символни низове

https://it4s.webnode.com/products/tjema21/

14
This free e-book was created with
Ourboox.com

Create your own amazing e-book!
It's simple and free.

Start now

Ad Remove Ads [X]
Skip to content