Rad sa stringovima ( 10/11 01. )
Klasa String
String je klasa, dakle referentni tip koji se koristi za smeštanje niza znakova.
Deklarisanje i definisanje stringa je jednostavno:
string Text = "Ovo je tekst";
string Text = "Ovo je ” + “tekst";
Mi konstantno koristimo stringove. Njihova upotreba u kodiranju je toliko česta i postoji mnogo opcija za manipulacije sa stringovima. String u C# programskom jeziku je instanca klase System.String koja predstavlja tekst kao nepromenjivu sekvencu Unicode karaktera. Svaki karakter u stringu je Unicode simbol; ključna reč string sa kojom deklarišemo promenjive tipa string je samo alias klase System.String.
Ako biste napisali sledeće:
string link = "elektrovpf.gnomio.com";
String link = "elektrovpf.gnomio.com";
System.String link = "elektrovpf.gnomio.com";
Sve tri navedene deklaracije su iste. Ono što je bitno da upamtite da je string referentni tip podataka. Pre inicijalizacije tip string ima vrednost null.
*********************************************
Prvi deo vežbi: radimo zadatke 1 i 2 sa stranice za koju je u nastavku postavljen link (tekst koji se tamo nalazi pre ovih zadataka proučite samostalno, kao deo lekcije):
Stringovi u C#-u - na interaktivan i zanimljiv način
Napomena: Jednom kad deklarišete i dodelite vrednost promenjivoj tipa string to je nepromenjivo! Zato kad vi dodelite ili promenite neku drugu vrednost promenjivoj tipa string vi u stvari stvarate novi string u memoriji dok samo imate utisak da je vaš string promenio vrednost. Vaš stari string će biti uklonjen čim to ustanovi sakupljač otpadaka, dok vi vidite vrednost novog stringa.
****************************************
Kao što smo rekli, string je klasa, i kao takav sadrži propertije i metode.
Propertiji:
Chars - Dobija se karakter koji se nalazi na specificiranoj poziciji u tekućem String objektu.
Length - Dobija se broj znakova u tekućem String objektu.
Drugi deo vežbi: Uraditi zadatak br.3 sa prethodno navedene stranice
*************************************************************
Metode klase String
Klasa String sadrži veliki broj metoda koji služe za obavljanje jednostavnih zadataka poput zamene karaktera, uklanjanje praznog prostora ili menjanje malih u velika slova i obratno.Metoda koje se mogu koristiti u radu sa stringovima ima dosta. Neke od metoda su statičke što znači da za njihovo pozivanje nije potrebno deklarisati instancu odnosno objekat tipa string, dok neke nisu statičke što znači da je za njihovo korištenje potrebno kreirati objekat tipa string.
Primeri statičkih metoda: Concat - Spajanje dva stringa:
string Text = String.Concat("Internet ", "Explorer");
Console.WriteLine(Text);
Ovo će da ispisuje: Internet Explorer
Compare - Poređenje dva stringa
- funkcija Compare vraća
negativni ceo broj ako je prvi string manji od drugog (dolazi pre po abecedi)
0 ako su stringovi jednaki
pozitivni ceo broj ako je prvi string veći od drugog (dolazi kasnije po abecedi)
Console.WriteLine(String.Compare("Cica", "Haljina")); // Ispisuje: -1
Console.WriteLine(String.Compare("Haljina", "Haljina")); // Ispisuje: 0
Console.WriteLine(String.Compare("Haljina", "Cica")); // Ispisuje: 1
Primeri nestatičkih metoda:
Substring - Ekstrahuje deo stringa
string Text = "Srbija je prvak svijeta";
Console.WriteLine(Text.Substring(10, 5)); // Ispisuje: prvak
Funkcija Substring u gornjem primeru ekstrahuje 5 znakova počevši od 11. znaka. C# radi indeksaciju počevši od 0 tako da prvi znak u nizu ima indeks 0, drugi ima indeks 1, 11. znak
ima indeks 10, itd.
Console.WriteLine(Text.Substring(0, 6)); // Ispisuje: Srbija
ToLower - Pretvaranje svih znakova u male znakove
string Text = "This Is New Class For pRoteCted DELEGATE";
Console.WriteLine(Text.ToLower()); // Ispisuje: this is new class for protected delegate
Ovaj primer ispisuje ni manje ni više nego 7 ključnih reči jezika. Ključne reči mogu biti sadržaj stringa!
**********************************************************************
Compare – Poredi sadržaj stringova uzimajući u vidu lokalnost tj. kulturu.
CompareOrdinal – Poredi sadržaj stringova ne uzimajući u obzir lokalnost tj. kulturu.
Copy – Kopira u novi string vrednost drugog stringa.
Equals – proverava da li dva stringa imaju istu vrednost.
Format – Formatira stringove različitih vrednosti i specifikatore formata.
IndexOf – Pronalazi prvi karakter ili prvo pojavljivanje podstringa.
IndexOfAny – Pronalazi prvo pojavljivanje bilo kog iz skupa karaktera u stringu.
LastIndexOf – Pronalazi zadnji karakter ili zadnje pojavljivanje podstringa.
LastIndexOfAny – Pronalazi zadnje pojavljivanje bilo kog iz skupa karaktera u stringu.
PadLeft – Dopunjava string dodajući određeni karakter koliko puta odredite na početak stringa.
PadRight – Dopunjava string dodajući određeni karakter koliko puta odredite na kraj stringa.
Remove – Briše određeni broj karaktera od navedene pozicije u stringu.
Replace – Zamenjuje pojavljivanje određenih karaktera ili podstringova.
Split – Deli string na niz podstringova na mestima gde se navedeni karakter nalazi.
Substring – Vraća podstring od navedene pozicije u stringu.
ToLower – Sva slova u stringu pretvara u mala slova.
ToUpper – Sva slova u stringu pretvara u velika slova.
Trim – Uklanja praznine i sa leve i sa desne strane stringa.
TrimStart – Uklanja praznine sa početka stringa.
TrimEnd – Uklanja praznine sa kraja stringa.
Itd.
Da bi ste najlakše i najbolje naučili kako da koristite ove metode neophodno je da se sami na programerski način kodiranjem igrate sa stringovima. To jest da ih menjate kako vama odgovara.
Treći deo vežbi: nastavljamo sa zadacima sa prethodno navedene stranice
*************************************
Četvrti deo (ako stignemo) radimo zadatak sa stranice za koju je u nastavku postavljen link:
Rad sa stringovima u C# programskom jeziku
izvor, www.manuelradovanovic.com
**********************************************************
A za one koji žele da znaju malo više:
Dodatak (na engleskom): String: kreiranje, propertiji, metode klase String i primeri kako se koriste:
izvor, www.manuelradovanovic.com, www.tutorialspoint.com, ...