7 - String műveletek
Imsétlés
-
Összetett típus -> karakterek láncából épül fel
-
Tömbszerűen viselkedik
- Az adott elemei indexelhetők:
<string neve>[index]
string gyumolcs = "alma"; Console.WriteLine(gyumolcs[1]); // Kimenet: l-
Az index segítségével elért elem típusa
char
-
Lekérhető a hossza:
<string neve>.Length
string gyumolcs = "alma"; for (int i = 0; i < gyumolcs.Length; i++) { Console.WriteLine(gyumolcs[i]); } // Kimenet: az alma szó betűi egyesével soronként-
NEM tudjuk a következőképp módosítani egy betűjét:
<string neve>[index] = '<karakter>'
-> más módszert kell használnunk -
A
+
művelet konkatenálásként működik
string keresztNev = "Peter"; string vezetekNev = "Parker"; string teljesNev = keresztNev + " " + vezetekNev; Console.WriteLine(teljesNev); //Kimenet: Peter Parker - Az adott elemei indexelhetők:
Műveletek
-
Több string konkatenálása:
String.Concat(<string 1>, <string 2>)
string vezetekNev = "Parker"; string keresztNev = "Peter"; string teljesNev = String.Concat(keresztNev, " ", vezetekNev); // Eredmény: Peter Parker -
A string tartalmaz-e egy adott szövegrészt:
<string neve>.Contains("<szöveg>")
string vezetekNev = "Parker"; bool tartalmazE = vezetekNev.Contains("rk"); // Eredmény: True -
Egy string adott elemmel végződik-e:
<string név>.EndsWith("<szöveg>")
string vezetekNev = "Parker"; bool vegzodikE = vezetekNev.EndsWith("sen"); // Eredmény: False -
Két string megegyezik-e:
<string 1>.Equals(<string 2>)
string vezetekNev = "Parker"; string keresztNev = "Peter"; bool egyezikE = vezetekNev.Equals(keresztNev); // Eredmény: False -
Egy értéket bele tudjuk illeszteni egy stringbe:
String.Format("<szöveg> {0} <szöveg>", <a 0 helyére behelyettesítendő érték>)
string vezetekNev = "Parker"; string keresztNev = "Peter"; string formazottSzoveg = String.Format("Pokember igazi neve {0} {1}!", keresztNev, vezetekNev); // Eredmeny: Pokember igazi neve Peter Parker! -
Egy elem melyik index alatt található meg a stringben elsőnek:
<string neve>.IndexOf("<szöveg>")
string vezetekNev = "Parker"; int elsoElofordulasIndex = vezetekNev.IndexOf('r'); // Eredmeny: 2 -
Beszúrás egy stringbe:
<string neve>.Insert(<index, ahova be szeretném illeszteni>, '<beillesztendő karakter>')
string keresztNevRossz = "Petr"; string keresztNevJav = keresztNevRossz.Insert(3, "e"); // Eredmeny: Peter -
Üres-e egy string:
String.IsNullOrEmpty(<string neve>)
string vezetekNev = "Parker"; bool uresE = String.IsNullOrEmpty(vezetekNev); // Eredmeny: 2 -
Egy elem melyik index alatt található meg a stringben utoljára:
<string neve>.LastIndexOf("<szöveg>")
string vezetekNev = "Parker"; int utolsoElofordulasIndex = vezetekNev.LastIndexOf('r'); // Eredmeny: 5 -
Igazítás elemek beszúrásával a string elején:
<string neve>.PadLeft(<a teljes string hossza>,<a beszúrandó elem>)
- ha a megadott hossz kisebb, mint az eredeti string hossza, akkor nem változik semmistring vezetekNev = "Parker"; string eloreBeszuras = vezetekNev.PadLeft(10, '*'); // Eredmeny: ****Parker -
Igazítás elemek beszúrásával a string végén:
<string neve>.PadRight(<a teljes string hossza>,<a beszúrandó elem>)
- ha a megadott hossz kisebb, mint az eredeti string hossza, akkor nem változik semmistring vezetekNev = "Parker"; string vegereBeszuras = vezetekNev.PadRight(10, '*'); // Eredmeny: Parker**** -
Törlés a stringből
- Adott karaktertől az összes elemet:
<string neve>.Remove(<index, ahonnan törölni szeretnék>)
- Adott karaktertől megadott mennyiségű elemet:
<string neve>.Remove(<index, ahonnan törölni szeretnék>, <hány karaktert szeretnék törölni>)
string vezetekNevRossz = "Parkerrr"; string vezetekNevJav = vezetekNevRossz.Remove(6); // Eredmeny: Parker - Adott karaktertől az összes elemet:
-
Összes megfelelő karakter kicserélése:
<string neve>.Replace('<mit cserélek>', '<mire cserélek>')
string vezetekNevRossz2 = "Porker"; string vezetekNevCsere = vezetekNevRossz2.Replace("o", "a"); // Eredmeny: Parker -
Részekre bontás:
string[] <tömb neve> = <string neve>.Split('<karakter, ami alapján részekre bontunk>');
string teljesNev = "Peter Parker"; string[] nev = teljesNev.Split(' '); // Eredmény: A space mentén kettészedi a stringet két elemre és ezeket külön bepakolja egy string tömbbe -
Egy string adott elemmel kezdődik-e:
<string név>.StartsWith("<szöveg>")
string vezetekNev = "Parker"; bool kezdodikE = vezetekNev.StartsWith("p"); // Eredmény: False -
Egy része a stringnek
- Adott indextől végig:
<string neve>.SubString(<kezdő elem index>)
- Adott indextől adott indexig:
<string neve>.SubString(<kezdő elem index>, <záró elem index>)
string vezetekNev = "Parker"; string resze = vezetekNev.Substring(1, 3); // Eredmeny: ark - Adott indextől végig:
-
Karakterek tömbjévé alakítás:
char[] <tömb neve> = <string neve>.ToCharArray();
string teljesNev = "Peter Parker"; char[] nevKarakterTomb = teljesNev.ToCharArray(); // Eredmény: Sétszedi elemeire a stringet és karakterenként belepakolja egy char tömbbe -
Kisbetűssé alakítás:
<string neve>.ToLower()
string teljesNev = "Peter Parker"; string kisBetus = teljesNev.ToLower(); // Eredmeny: peter parker -
Nagybetűssé alakítás:
<string neve>.ToUpper()
string teljesNev = "Peter Parker"; string kisBetus = teljesNev.ToUpper(); // Eredmeny: PETER PARKER -
Felesleges karakterek törlése
- A sting elején és végén:
<string neve>.Trim('<törlendő karakter>')
- ha nem adunk meg semmit, a space az alapértelmezett - A string elején:
<string neve>.TrimStart('<törlendő karakter>')
- ha nem adunk meg semmit, a space az alapértelmezett - A string végén:
<string neve>.TrimEnd('<törlendő karakter>')
- ha nem adunk meg semmit, a space az alapértelmezett
string teljesNevKarakterekkel = "**Peter Parker****"; string letisztitott = teljesNevKarakterekkel.Trim('*'); // Eredmeny: Peter Parker - A sting elején és végén: