23.01. Klasa za rad sa stringom
Stringovi su jedan od osnovnih tipova podataka u programiranju. U svakodnevnom radu sa aplikacijama, stringovi se koriste za predstavljanje tekstualnih podataka, kao što su imena, poruke, putanje fajlova i mnogi drugi tekstualni unosi. U jeziku C#, stringovi su objekti klase System.String.
Prvo i osnovno:
1. Šta je klasa String?
Klasa String u C# je specijalizovana klasa koja omogućava rad sa tekstualnim podacima. Ona se koristi za:
- Čuvanje tekstualnih vrednosti.
- Manipulisanje tekstom (npr. spajanje, sečenje, zamena i pretraga).
- Rad sa pojedinačnim karakterima unutar teksta.
2. Osnovne karakteristike stringova
-
Nepromenljivost (immutability): Kada se jednom kreira, vrednost stringa se ne može promeniti. Ako se izvrši neka operacija nad stringom (npr. konkatenacija), rezultat je novi string, dok originalni ostaje nepromenjen.
-
Indeksiranje: Svaki karakter u stringu ima svoju poziciju (indeks), koja počinje od nule.
Primer:
string tekst = "Programiranje";
Console.WriteLine(tekst[0]); // Ispisuje: P
Console.WriteLine(tekst[tekst.Length - 1]); // Ispisuje: e
Svojstva klase String
- Length - Vraća broj karaktera u stringu.
- Chars - Omogućava pristup svakom karakteru putem indeksa.
Primeri:
string poruka = "Dobrodošli!";
Console.WriteLine("Dužina stringa: " + poruka.Length);
Console.WriteLine("Prvi karakter: " + poruka[0]);
...
Vežba 1: Analiza stringa
Napisati program koji ispisuje sve karaktere stringa jedan po jedan (string unosi korisnik)
using System;
class Program
{
static void Main()
{
Console.Write("Unesite string: ");
string unos = Console.ReadLine();
for (int i = 0; i < unos.Length; i++)
{
Console.WriteLine(unos[i]);
}
}
}
Metode klase String
Klasa String sadrži dosta metoda za manipulaciju tekstom. Ove metode su jednostavne za korišćenje i omogućavaju programerima da manipulišu stringovima na različite načine. U nastavku su navedene neke od metoda koje se najčešće koriste:
1. Substring
Metoda Substring se koristi za izdvajanje dela stringa.
Sintaksa:
string Substring(int startIndex, int length);
Primer:
string recenica = "Dobrodošli u svet programiranja";
string deo = recenica.Substring(0, 10);
Console.WriteLine(deo); // Ispisuje: Dobrodošli
2. Replace
Metoda Replace zamenjuje sve instance jednog stringa drugim stringom.
Sintaksa:
string Replace(string staraVrednost, string novaVrednost);
Primer:
string tekst = "Dobrodošli, korisnici!";
string izmenjen = tekst.Replace("korisnici", "učenici");
Console.WriteLine(izmenjen); // Ispisuje: Dobrodošli, učenici!
3. ToUpper i ToLower
Ove metode konvertuju string u velika ili mala slova.
Primer:
string tekst = "Dobrodošli";
Console.WriteLine(tekst.ToUpper()); // Ispisuje: DOBRODOŠLI
Console.WriteLine(tekst.ToLower()); // Ispisuje: dobrodošli
4. Trim
Metoda Trim uklanja sve praznine sa početka i sa kraja stringa.
Primer:
string tekst = " Programiranje ";
string obradjen = tekst.Trim();
Console.WriteLine(obradjen); // Ispisuje: Programiranje
Vežba 2: Unos i obrada stringa
Napisati program koji omogućava korisniku unos stringa, a zatim:
- Ispisuje dužinu stringa.
- Prikazuje string u velikim slovima.
- Izdvaja prva tri karaktera.
using System;
class Program
{
static void Main()
{
Console.Write("Unesite neki tekst: ");
string unos = Console.ReadLine();
Console.WriteLine("Dužina stringa: " + unos.Length);
Console.WriteLine("Velika slova: " + unos.ToUpper());
Console.WriteLine("Prva tri karaktera: " + unos.Substring(0, 3));
}
}
Vežba 3: Obrtanje stringa
Napisati program koji uneti string ispisuje obrnutim redosledom karaktera.
using System;
class Program
{
static void Main()
{
Console.Write("Unesite tekst: ");
string unos = Console.ReadLine();
char[] karakteri = unos.ToCharArray();
Array.Reverse(karakteri);
string obrnuto = new string(karakteri);
Console.WriteLine("Obrnuti tekst: " + obrnuto);
}
}
Vežba 4: Zamena i pretraga unutar stringa
Napisati program koji od korisnika traži unos rečenice i zatim:
- Zamenjuje svaku pojavu reči "programiranje" sa "kodiranje".
- Proverava da li rečenica sadrži reč "dobrodošli".
using System;
class Program
{
static void Main()
{
Console.Write("Unesite rečenicu: ");
string recenica = Console.ReadLine();
string izmenjena = recenica.Replace("programiranje", "kodiranje");
Console.WriteLine("Izmenjena rečenica: " + izmenjena);
if (recenica.Contains("dobrodošli"))
{
Console.WriteLine("Rečenica sadrži reč 'dobrodošli'.");
}
else
{
Console.WriteLine("Rečenica ne sadrži reč 'dobrodošli'.");
}
}
}