Professional Documents
Culture Documents
Vjezbe 06
Vjezbe 06
Vježbe 06
Vinko Petričević
Stringovi
String
int rezultatUsporedbe;
// Usporedba koja razlikuje valika i mala slova
rezultatUsporedbe = string.Compare(s1, s2);
Console.WriteLine("Usporedba s1 = {0}, s2 = {1}, rezultat: {2}",
s1, s2, rezultatUsporedbe);
// Usporedba koja ignorira velika i mala slova
rezultatUsporedbe = string.Compare(s1, s2, true);
Console.WriteLine("Usporedba (ignorira velika i mala slova): {0} i {1}: {2}",
s1, s2, rezultatUsporedbe);
// Spajanje dva niza znakova
string s4 = string.Concat(s1, s2); // ili s4=s1+s2;
Console.WriteLine("s1 spojeno s s2: {0}", s4);
// Kopiranje niza znakova
string s6 = string.Copy(s1); // ili s6 = s1;
Console.WriteLine("s6 kopiran iz s1: {0}", s6);
// Tri načina za uspoređivanje nizova znakova
Console.WriteLine("s7.Equals(s1): {0}", s7.Equals(s1));
Console.WriteLine("Equals(s7, s1): {0}", string.Equals(s7, s1));
Console.WriteLine("s7 == s1: {0}", s7 == s1);
// Duljina i index svojstva
Console.WriteLine("Duljina s1: {0}", s1.Length);
Console.WriteLine("Drugi znak u s1: {0}", s1[1]);
Console.WriteLine(); Console.WriteLine("s3: {0}", s3);
// Testira završava li niz sa skupom znakova
Console.WriteLine("s3 završava sa \"znakova\": {0}",
s3.EndsWith("znakova"));
Console.WriteLine("s3 završava sa \"znakova.\": {0}",
s3.EndsWith("znakova."));
// Vraća indeks podniza
int indeksPodniza = s3.IndexOf("radimo");
Console.WriteLine("Prva pojava \"radimo\" u s3: {0}", indeksPodniza);
// U s3 umećemo riječ "intenzivno" prije "radimo“
string s8 = s3.Insert(indeksPodniza, "intenzivno ");
Console.WriteLine("s8: {0}", s8);
Primjer 2
string s = "Jedan Dva Tri Četiri";
while (s.Length > 0) {
// tražimo zadnji razmak u nizu znakova
int indeksRazmaka = s.LastIndexOf(" ");
//Ako razmak postoji
if (indeksRazmaka >= 0) {
// ispisujemo zadnju riječ
string zadnjaRijec = s.Substring(indeksRazmaka + 1);
Console.WriteLine(zadnjaRijec);
// uzimamo podniz koji sadrži sve osim zadnje riječi
s = s.Substring(0, indeksRazmaka);
}
else {
// inače je ovo zadnja preostala riječ
// ispisujemo ju i praznimo niz znakova
Console.WriteLine(s);
s = "";
}
}
Zadatak 1
Napišite program koji učitava 2 stringa, te
svaku pojavu drugog stringa u prvom
premješta na kraj prvog stringa. Na kraju
ispisuje dobiveni string
kokodako ko
dakokoko
Zadatak 2
Palindrom je riječ koja se jednako čita od
naprijed i od nazad.
Napitiše program koji učitava string s
tastature, te ispisuje koliko različitih
palindromaa taj string sadrži
Primjer 3
string s = "Jedan Dva,Tri Četiri";
// definiramo niz graničnika koji razgraničuju riječi
char[] granicnici = new char[] { ' ', ',' };
// metoda Split() dijeli niz znakova na podnizove
string[] rijeci = s.Split(granicnici);
// ili s.Split(' ', ',');
// nizove ispisujemo obrnutim redoslijedom
for (int i = rijeci.Length - 1; i >= 0; i--)
{
Console.WriteLine(rijeci[i]);
}
StringBuilder
string je nepromijenjivi niz znakova. Prilikom
svake izmijene se kreira kopija na kojoj se
mijenja, a stari string ostaje u memoriji
nepromijenjen i čeka sakupljanje otpada