Manipulacija stringovima u Java s PRIMJEROM
โก Pametni saลพetak
Manipulacija stringovima u Java oslanja se na klasu String, koja predstavlja tekst kao niz znakova i pruลพa ugraฤene metode kao ลกto su length, indexOf, charAt, compareTo, contains, replace i pretvorba velikih i malih slova za uฤinkovitu obradu i transformaciju teksta.

U ฤemu su stringovi Java?
Niz je u doslovnom smislu niz znakova. Hej, jeste li rekli znakovi, nije li to primitivan tip podataka u Java. Da, dakle u tehniฤkom smislu, osnovno Java String je u osnovi niz znakova.
Moj gornji niz od "ROSEโ moลพe se predstaviti kao sljedeฤe โ
Zaลกto koristiti Strings?
Jedna od primarnih funkcija moderne raฤunalne znanosti je obrada ljudskog jezika.
Sliฤno kao ลกto su brojevi vaลพni za matematiku, jeziฤni simboli vaลพni su za znaฤenje i donoลกenje odluka. Iako to moลพda nije vidljivo korisnicima raฤunala, raฤunala obraฤuju jezik u pozadini precizno i โโtoฤno kao kalkulator. Dijalozi za pomoฤ pruลพaju upute. Izbornici pruลพaju izbore. A prikazi podataka prikazuju statuse, pogreลกke i promjene jezika u stvarnom vremenu.
Kao Java programeru, jedan od vaลกih glavnih alata za pohranu i obradu jezika bit ฤe klasa String.
Primjeri sintakse nizova
Sada, prijeฤimo na sintaksu, uostalom, ovo moramo napisati u Java kod zar ne.
String je niz znakova, predstavljen kao:
//String is an array of characters char[] arrSample = {'R', 'O', 'S', 'E'}; String strSample_1 = new String (arrSample);
U tehniฤkom smislu, String je definiran kako slijedi u gornjem primjeru-
= new (argument);
Sada ne moลพemo uvijek pisati naลกe nizove kao nizove; stoga moลพemo definirati String u Java kako slijedi:
//Representation of String String strSample_2 = "ROSE";
U tehniฤkom smislu, gore navedeno je predstavljeno kao:
= ;
The Gudaฤki razred Java proteลพe se o Klasa objekta.
Spajanje nizova:
Ulanฤavanje je spajanje dva ili viลกe nizova.
Pogledajte donju sliku-
Imamo dva niza str1 = โRockโ i str2 = โStarโ
Ako zbrojimo ova dva niza, trebali bismo imati rezultat str3= โRockStarโ.
Provjerite donji isjeฤak koda, a on objaลกnjava dvije metode za izvoฤenje spajanja stringova.
Prvo koristi "CONCATโ metode String klase, a druga koristi aritmetiฤki โ+โ operator. Oba rezultiraju istim rezultatom
public class Sample_String{ public static void main(String[] args){ //String Concatenation String str1 = "Rock"; String str2 = "Star"; //Method 1 : Using concat String str3 = str1.concat(str2); System.out.println(str3); //Method 2 : Using "+" operator String str4 = str1 + str2; System.out.println(str4); } }
Oฤekivani rezultat:
RockStar RockStar
Vaลพno Java string metode:
Pitajmo Java String klasa nekoliko pitanja i vidjeti moลพe li odgovoriti na njih:
Metoda โduลพineโ niza
Kako ฤete odrediti duljinu zadanog niza? Dao sam metodu koja se zove "duลพina". Upotrijebite ga protiv niza koji vam je potreban da biste pronaลกli duljinu.
public class Sample_String{ public static void main(String[] args){ //Our sample string for this tutorial String str_Sample = "RockStar"; //Length of a String System.out.println("Length of String: " + str_Sample.length());}}
Oฤekivani rezultat:
Length of String: 8
String metoda โindexOfโ.
Ako znam duljinu, kako ฤu pronaฤi koji je znak na kojoj poziciji? Ukratko, kako ฤu pronaฤi indeks znaka?
Sam si si odgovorio, prijatelju, postoji metoda โindexOfโ koja ฤe ti pomoฤi da odrediลก lokaciju odreฤenog znaka koji navedeลก.
public class Sample_String{ public static void main(String[] args){//Character at position String str_Sample = "RockStar"; System.out.println("Character at position 5: " + str_Sample.charAt(5)); //Index of a given character System.out.println("Index of character 'S': " + str_Sample.indexOf('S'));}}
Oฤekivani rezultat:
Character at position 5: t Index of character 'S': 4
String โcharAtโ metoda
Sliฤno gornjem pitanju, s obzirom na indeks, kako mogu znati lik na toj lokaciji?
Opet jednostavno!! Koristite metodu โcharAtโ i navedite indeks ฤiji znak trebate pronaฤi.
public class Sample_String{ public static void main(String[] args){//Character at position String str_Sample = "RockStar"; System.out.println("Character at position 5: " + str_Sample.charAt(5));}}
Oฤekivani rezultat:
Character at position 5: t
String metoda โUsporedi sโ.
ลฝelim li provjeriti je li String koji je generiran nekom metodom jednak neฤemu ลกto ลพelim provjeriti? Kako mogu usporediti dva niza?
Koristite metodu โcompareToโ i navedite String koji ลพelite usporediti.
Koristite โcompareToIgnoreCaseโ u sluฤaju da ne ลพelite da rezultat bude osjetljiv na velika i mala slova.
Rezultat ฤe imati vrijednost 0 ako je niz argumenata jednak ovom nizu; vrijednost manja od 0 ako je ovaj niz leksikografski manji od argumenta niza; i vrijednost veฤu od 0 ako je ovaj niz leksikografski veฤi od argumenta niza.
public class Sample_String{ public static void main(String[] args){//Compare to a String String str_Sample = "RockStar"; System.out.println("Compare To 'ROCKSTAR': " + str_Sample.compareTo("rockstar")); //Compare to - Ignore case System.out.println("Compare To 'ROCKSTAR' - Case Ignored: " + str_Sample.compareToIgnoreCase("ROCKSTAR"));}}
Oฤekivani rezultat:
Compare To 'ROCKSTAR': -32 Compare To 'ROCKSTAR' - Case Ignored: 0
String โContainโ metoda
Djelomiฤno znam ลกto je niz trebao sadrลพavati, kako mogu potvrditi sadrลพi li niz niz znakova koje sam naveo?
Koristite metodu "sadrลพiโ i odredite znakove koje trebate provjeriti.
Povratak istinski ako i samo ako ovaj niz sadrลพi navedeni niz vrijednosti char.
public class Sample_String{ public static void main(String[] args){ //Check if String contains a sequence String str_Sample = "RockStar"; System.out.println("Contains sequence 'tar': " + str_Sample.contains("tar"));}}
Oฤekivani rezultat:
Contains sequence 'tar': true
String metoda "endsWith".
Kako mogu potvrditi zavrลกava li niz s odreฤenim sufiksom? Opet si odgovorio. Koristite metodu "endsWith" i navedite sufiks u argumentima.
Povratak istinski ako je niz znakova predstavljen argumentom sufiks niza znakova predstavljen ovim objektom.
public class Sample_String{ public static void main(String[] args){ //Check if ends with a particular sequence String str_Sample = "RockStar"; System.out.println("EndsWith character 'r': " + str_Sample.endsWith("r"));}}
Oฤekivani rezultat:
EndsWith character 'r': true
Metoda niza โreplaceAllโ & โreplaceFirstโ.
ลฝelim modificirati svoj niz na nekoliko mjesta i zamijeniti nekoliko dijelova niza?
Java Metode String Replace, replaceAll i replaceFirst. Moลพete navesti dio niza koji ลพelite zamijeniti i zamjenski niz u argumentima.
public class Sample_String{ public static void main(String[] args){//Replace Rock with the word Duke String str_Sample = "RockStar"; System.out.println("Replace 'Rock' with 'Duke': " + str_Sample.replace("Rock", "Duke"));}}
Oฤekivani rezultat:
Replace 'Rock' with 'Duke': DukeStar
Niz Java "mala slova" & Java Metoda "velika slova".
ลฝelim da cijeli niz bude prikazan malim ili velikim slovima?
Samo upotrijebite metode โtoLowercase()โ ili โToUpperCase()โ za nizove koje je potrebno pretvoriti.
public class Sample_String{ public static void main(String[] args){//Convert to LowerCase String str_Sample = "RockStar"; System.out.println("Convert to LowerCase: " + str_Sample.toLowerCase()); //Convert to UpperCase System.out.println("Convert to UpperCase: " + str_Sample.toUpperCase());}}
Oฤekivani rezultat:
Convert to LowerCase: rockstar Convert to UpperCase: ROCKSTAR
Vaลพne napomene:
- String je finalna klasa; tj. jednom stvorena vrijednost ne moลพe se mijenjati. Stoga se String objekti nazivaju nepromjenjivima.
- The Java Virtualni stroj (JVM) stvara memorijsku lokaciju posebno za pozivane nizove Konstantni skup nizova. Zato se String moลพe inicijalizirati bez kljuฤne rijeฤi 'new'.
- String klasa spada pod java.lang.Hijerarhija nizova. Ali nema potrebe za uvozom ove klase. Java platforma ih automatski osigurava.
- Niz referenca se moลพe nadjaฤati, ali to ne briลกe sadrลพaj; tj. ako
String h1 = โzdravoโ;
h1 = โzdravoโ+โsvijeteโ;
tada se niz โhelloโ ne briลกe. Jednostavno gubi svoju drลกku.
- Viลกestruke reference moลพe se koristiti za isti String, ali hoฤe javljaju na istom mjestu; tj. ako
String h1 = โzdravoโ;
String h2 = โzdravoโ;
String h3 = โzdravoโ;
tada se u memoriji kreira samo jedan skup za String โhelloโ s 3 reference-h1,h2,h3
- Ako je broj je naveden u โ โ onda to postaje niz, nije viลกe broj. To znaฤi ako
String S1 =โBroj je: โ+ โ123โ+โ456โ;
Sustav.van.println(S1);
tada ฤe ispisati: Broj je: 123456
Ako je inicijalizacija ovakva:
String S1 = โBroj je: โ+(123+456);
System.out.println(S1);
tada ฤe ispisati: Broj je:579
To je sve za Strings!



