1 / 17

Računarski praktikum 3 Vježbe 06

Računarski praktikum 3 Vježbe 06. Vinko Petričević. Stringovi. String. moguće ih je sortirati (uzimaju se u obzir kulturološke informacije) moguće je sa foreach naredbom proći po svim znakovima stringa moguće je klonirati string i tako dobiti novi string s istom vrijednošću.

chloe
Download Presentation

Računarski praktikum 3 Vježbe 06

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Računarski praktikum 3Vježbe 06 Vinko Petričević Stringovi

  2. String • moguće ih je sortirati (uzimaju se u obzir kulturološke informacije) • moguće je sa foreach naredbom proći po svim znakovima stringa • moguće je klonirati string i tako dobiti novi string s istom vrijednošću public sealed class String : IComparable<T>, ICloneable, IConvertible, IEnumerable<T>

  3. String string s = “Ovo je neki string”; string s1 = “Ovo je prijelaz u novi red\n”; string s2 = @”A ovo nije \n”; string path = @”c:\dokumenti\datoteka.txt”; string tekst = @"prvi redak drugi redak treći redak";

  4. Metode stringa • Chars – Indekser niza znakova. • Compare() – Preopterećena javna statička metoda koja uspoređuje dva niza znakova. • CompareOrdinal() – Preopterećena javna statička metoda koja uspoređuje dva niza znakova bez obzira na lokacijske ili kulturološke postavke. • CompareTo() – Niz znakova uspoređuje s drugim nizom. • Concat() – Preopterećena javna statička metoda koja iz jednog ili više nizova znakova stvara novi niz. • Copy() – Preopterećena javna statička metoda koja novi niz znakova stvara kopiranjem drugog niza znakova. • CopyTo() – Kopira zadani broj znakova u polje Unicode znakova. • Empty – Javno statičko polje koje predstavlja prazan niz znakova. • Equals() – Preopterećena javna statička metoda i metoda instance koja utvrđuje imaju li dva niza znakova istu vrijednost.

  5. Metode stringa • EndsWith() – Vraća true u slučaju da pozivajući niz znakova završava zadanim nizom, inače vraća false. • Format() – Preopterećena javna statička metoda koja formatira niz znakova pomoću specifikacije formata. • IndexOf() – Vraća poziciju prvog pojavljivanja zadanog niza znakova unutar pozivajućeg niza. • Insert() – Vraća novi niz znakova s umetnutim zadanim nizom znakova. • Join() – Preopterećena javna statička metoda koja za zadani znak-separator i polje nizova znakova vraća jedinstven niz znakova sastavljen od elemenata polja spojenih znakom-separatorom. • LastIndexOf() – Daje indeks posljednje pojave određenog znaka ili niza znakova unutar pozivajućeg niza znakova. • Length – Broj znakova u instanci.

  6. Metode stringa • PadLeft() – Znakove u nizu popunjava desno, dok lijevu stranu popunjava razmacima ili zadanim znakom. • PadRight() – Znakove u nizu popunjava lijevo, dok desnu stranu popunjava razmacima ili zadanim znakom. • Remove() – Briše zadani broj znakova. • Split() – Vraća podnizove odvojene određenim znakovima u polju niza znakova. • StartsWith() – Označava počinje li niz zadanim znakom. • Substring() – Dohvaća podniz znakova. • ToCharArray() – Kopira znakove iz niza znakova u polje znakova. • ToLower() – Vraća kopiju niza znakova napisanu malim slovima. • ToUpper() – Vraća kopiju niza znakova napisanu velikim slovima. • Trim() – Uklanja sve pojave skupa zadanih znakova s početka i završetka niza znakova. • TrimEnd() – Ponaša se kao Trim(), ali samo na završetku niza znakova. • TrimStart() – Ponaša se kao Trim(), ali samo na početku niza znakova.

  7. Primjer 1 string s1 = "abcd"; string s2 = "ABCD"; string s3 = "Danas radimo s nizovima znakova."; 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);

  8. // 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."));

  9. // 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);

  10. 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 = ""; } }

  11. 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 kodakokoko

  12. 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]); }

  13. 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 • StringBuilder se može mijenjati

  14. StringBuilder – važnije metode • Append() – Preopterećena javna metoda koja niz znakova dodaje na završetak trenutnog StringBuilder. • AppendFormat() – Preopterećena javna metoda koja specifikatore formata zamjenjuje formatiranom vrijednosti objekta. • Chars – Indekser. • Insert() – Preopterećena javna metoda koja na zadani položaj umeće niz znakova. • Length – Vraća ili postavlja duljinu StringBuilder. • Remove() – Uklanja zadane znakove. • Replace() – Preopterećena javna metoda koja sve instance zadanih znakova zamjenjuje novim znakovima.

  15. Primjer 4 string s = "Jedan Dva,Tri, Četiri"; char[] granicnici = new char[] { ' ', ',' }; string[] rijeci = s.Split(granicnici); // Kreiramo novi objekt klase StringBuilder StringBuilder izlaz = new StringBuilder(); // dodajemo izdvojene riječi obrnutim redoslijedom for (int i = rijeci.Length - 1; i >= 0; i--) { izlaz.AppendFormat("{0}: {1}\n", i, rijeci[i]); } // Ispisujemo objekt izlaz Console.WriteLine(izlaz);

  16. Regularni izrazi • .net ima ugrađenu podršku za prepoznavanje regularnih izraza string s = "Jedan Dva,Tri, Četiri"; // instanciramo novi objekt klase Regex Regex regularniIzraz = new Regex(" |, |,"); // metoda Split() objekta klase Regex dijeli niz znakova na podnizove string[] rijeci = regularniIzraz.Split(s); StringBuilder izlaz = new StringBuilder(); for (int i = rijeci.Length - 1; i >= 0; i--) izlaz.AppendFormat("{0}: {1}\n", i, rijeci[i]);  Console.WriteLine(izlaz);

  17. Regularni izrazi • .net ima ugrađenu podršku za prepoznavanje regularnih izraza string s = "Jedan Dva,Tri, Četiri"; // statička metoda Split() klase Regex string[] rijeci = Regex.Split(s, " |, |,"); StringBuilder izlaz = new StringBuilder(); for (int i = rijeci.Length - 1; i >= 0; i--) izlaz.AppendFormat("{0}: {1}\n", i, rijeci[i]);  Console.WriteLine(izlaz);

More Related