Created by Jindřich Zdráhal
Vrátí část řetězce.
str.substring(i) //vybere řetězec od znaku na pozici i až do konce.
str.substring(i,j) // i je index prvního znaku vybíraného řetězce, j je index znaku, který už tam nebude!
Příklad
str = "Ahoj";
System.out.println(str.substring(1,3))
výsledek
ho
Vrací hodnoty true/false podle toho, jestli řetězec začíná daným řetězcem.
str1.startsWith(str2)
Vrací hodnoty true/false podle toho, jestli řetězec končí daným řetězcem.
str1.endsWith(str2)
Vrátí znak na daném indexu.
str.charAt(i) //kde i je integer s pozicí
Dost dobré nástroje:
Vezme řetězec, rozdělí jej na části podle uvedeného řetězce (tento dělící řetězec je sežrán) a vrátí nám to jako pole řetězců.
str.split(" ") //rozdělí nám řetězec str podle mezer a tyto budou smazány
Vrátí na pole znaků.
str.toCharArray()
Vyhledá první výskyt daného řetězce nebo znaku v řetězci
String str = "ahoj jak se máš?"; int a = str.indexOf("j");
Tento program mi najde první "j" v řetězci str a do proměnné a uloží jeho index. Pokud se tam ten řetězec nevyskytuje, vrátí hodnotu -1
Tzn., a = 3
Porovnává jestli reference ukazuje na stejné místo v paměti. To nemusí ani když bude mít stejnou hodnotu.
str1 == str2 //výsledek je true / false
Totéž, ale bude hledat od konce.
Stené, ale není case sensitiv.
Porovnává lexikografickou hodnotu řetězce.
Tzn. každé písmenko má číselnou hodnotu (dál v abecedě = větší číslo), sečte se hodnota všech těchto čísel a porovná se.
Je case sensitiv.
str1.compareTo(str2)
/* výsledky jsou integery
if s1 > s2, it returns positive number
if s1 < s2, it returns negative number
if s1 == s2, it returns 0 */
https://replit.com/@ZdrahalJ/PorovnavaniStringu
Budu porovnávat dva řetězce str1 a str2
Referenční datový typ = v paměti se uchovává odkaz (reference) na místo, kde je uchovaná hodnota.
Pracuje s nimi třída String (a některé další). V této mapě bude jen třída String.
Můžeme ho (nepřesně) vnímat také jako pole znaků.
int i=Integer.parseInt("200");
Hledá jestli řetězec obsahuje danou sekvenci znaků.
Je case sensitiv.
str1.contains(str2) //výsledek je true / false
Porovnává dva řetězce, vrací true, když se hodnoty řetězců rovnají.
Pozor je to case sensitiv.
str1.equals(str2) //výsledek je true/false
Varianta equals, ale není case sensitiv.
https://replit.com/@ZdrahalJ/PrevodyStringu
Vrátí řetězec ořezaný na krajích o "bílé znaky" což jsou mezery a podobně.
str.trim()
Vrací délku řetězce.
str.length()
Přetížená metoda + vrátí spojené řetězce vždy, když alespoň jeden z operátorů je řetězec.
1 + 1 = 2 //tady sčítá
1 + "1" = 11 //alespoň jeden z parametrů je string, takže nemůže sčítat a musí spojovat
"Ahoj"+"jak se máš?" = "Ahojjak se máš?"
str1 + str2
Vrátí řetězec převedený na malá písmena.
str.toLowerCase();
Vrátí řetězec převedený na velká písmena.
str.toUpperCase();
Vrátí řetězec s tím, že v něm vymění všechny místa výskytu za nový kousek. Dá se použít na znak i řetězec.
str.replace('c', 'k')
str.replace("Ah", "ah")Vrátí řetezec, který je spojením obou řetězců.
str1.concat(str2);