10.11: Rad sa stringovima u C# programskom jeziku
Mi konstantno koristimo stringove. Njihova upotreba u kodiranju je toliko česta čak i kad ne koristite ni delimično sve
mogućnosti manipulacije sa stringovima. String u C# programskom jeziku vam 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.
string link = "www.manuelradovanovic.com";
String link = "www.manuelradovanovic.com";
System.String link = "www.manuelradovanovic.com";
Sve tri navedene deklaracije su vam iste. Ono što je bitno da upamtite da je string referentni tip podataka. Pre inicijalizacije tip string ima vrednost null.
Često će te čuti da je string kao i niz tipa char; sličnost definitivno postoji, indeksiranje počinje od 0 ali ovo definitivno neće raditi jer karakteri ne mogu biti modifikovani kao u nizovima:
link[0] = 'M'; // error
Međutim, ovo hoće:
char[] alphabet = new char[18];
alphabet[0] = link[4]; // Output: m
string link = "www.manuelradovanovic.com";
char[] alphabets = { 'M', 'a', 'n', 'u', 'e', 'l' };
link = new string(alphabets);
string name = link;
Koje se metode najčešće koriste za manipulaciju stringovima?
Većina misli da se od svih metoda klase String najviše koristi read-only metoda Lenght koja predstavlja dužinu stringa. To naravno zavisi od toga šta hoćete da radite sa stringovima. 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. Pogledajte značenje nekih od
najvažnijih metoda u klasi String:
- 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.
using System;using static System.Console; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace StringClass { class Program{static void Main(string[] args){// declaration and adding value to the string typestring link = "www.manuelradovanovic.com";
// line of 20 characters like as '-'string lines = new String('-', 20);// this declarations are the same like as the empty string declarations tooString firstName = "";System.String lastName = String.Empty;// for the string concatenation use operator +// it's not the good practice if you do it in the loopWriteLine("String variable: " + link);WriteLine(lines + Environment.NewLine);// lenght of the string variable linkWriteLine("Lenght of variable: " + link.Length);// remove 4 characters from the index 0link = link.Remove(0, 4);WriteLine("Remove 4 characters from 0: " + link);// remove the last 4 characterslink = link.Remove(link.Length - 4, 4);WriteLine("Remove the last 4 characters: " + link);// replace 'r' with ' r'link = link.Replace("r", " r");WriteLine("Replace 'r' with ' r' characters: " + link);// split wordsstring [] twoWords = link.Split(' ');firstName = twoWords[0];lastName = twoWords[1];WriteLine("Split words: " + firstName + " and " + lastName);
WriteLine(Environment.NewLine + lines + Environment.NewLine);
// show the first and last name to upper of first letters
firstName = firstName.Substring(0, 1).ToUpper() + firstName.Substring(1);lastName = lastName.Substring(0, 1).ToUpper() + lastName.Substring(1);WriteLine("First Name: " + firstName);WriteLine("Last Name: " + lastName);WriteLine(Environment.NewLine + lines + Environment.NewLine);// Compare first name with 'manuel' - case-sensitiveif (String.Compare(firstName, "manuel", false) == 0){WriteLine("Compare first name with 'manuel' - case-sensitive: True"); }else{WriteLine("Compare first name with 'manuel' - case-sensitive: False");}// Compare first name with 'manuel' - case-insensitiveif(String.Compare(firstName, "manuel", true) == 0){WriteLine("Compare first name with 'manuel' - case-insensitive: True"); }else{WriteLine("Compare first name with 'manuel' - case-insensitive: False");}WriteLine(Environment.NewLine + lines + Environment.NewLine);
// for the string concatenation use Concat methodlink = String.Concat(firstName, lastName);WriteLine("Concat method: " + link);// change the string link variable to lowerlink = link.ToLower();WriteLine("ToLower: " + link);// use Join method to add www. and .comstring[] threeWords = new string[3];threeWords[0] = "www";threeWords[1] = link;threeWords[2] = "com";link = String.Join(".", threeWords);WriteLine("Join: " + link);ReadKey();}}
}
Pokrenite program i pogledajte šta ćete dobiti.
Kako to sve izgleda možete pogledati i na video-u:
izvor, www.manuelradovanovic.com