Java String Manipulation: Funksjoner og metoder med EKSEMPEL

Innholdsfortegnelse:

Anonim

Hva er strenger?

En streng bokstavelig sett er en serie tegn. Hei, sa du tegn, er det ikke en primitiv datatype i Java. Ja, så teknisk sett er den grunnleggende Java String i utgangspunktet en rekke tegn.

Så min ovennevnte streng av " ROSE " kan representeres som følgende -

I denne veiledningen vil du lære-

  • Hva er strenger?
  • Hvorfor bruke strenger?
  • String Syntax Eksempler
  • String sammenføyning
  • Viktige Java-strengemetoder

Hvorfor bruke strenger?

En av de viktigste funksjonene til moderne informatikk, er behandling av menneskespråk.

På samme måte som hvordan tall er viktige for matematikk, er språksymboler viktige for mening og beslutningstaking. Selv om det kanskje ikke er synlig for databrukere, behandler datamaskiner språket i bakgrunnen så presist og nøyaktig som en kalkulator. Hjelpedialoger gir instruksjoner. Menyer gir valg. Og dataskjermer viser statuser, feil og endringer i sanntid i språket.

Som en Java-programmerer vil et av hovedverktøyene dine for å lagre og behandle språk være String-klassen.

String Syntax Eksempler

La oss nå komme til litt syntaks, tross alt, vi trenger å skrive dette i Java-kode, er det ikke det.

Streng er en rekke tegn, representert som:

//String is an array of characterschar[] arrSample = {'R', 'O', 'S', 'E'};String strSample_1 = new String (arrSample);

I tekniske termer er strengen definert som følger i eksemplet ovenfor -

= new (argument);

Nå kan vi alltid ikke skrive strengene våre som arrays; Derfor kan vi definere strengen i Java som følger:

//Representation of StringString strSample_2 = "ROSE";

I tekniske termer er ovenstående representert som:

= ;

The String klassen Java strekker den Object-klassen.

Strengsammenkobling:

Sammenkobling er sammenføyning av to eller flere strenger.

Ta en titt på nedenstående bilde-

Vi har to strenger str1 = “Rock” og str2 = “Star”

Hvis vi legger sammen disse to strengene, bør vi ha et resultat som str3 = “RockStar”.

Sjekk kodebiten nedenfor, og den forklarer de to metodene for å utføre strengkonkatenering.

For det første bruker vi " concat " -metoden i strengklasse, og den andre bruker aritmetisk "+" -operator. Begge resulterer i samme produksjon

offentlig klasse Sample_String {public static void main (String [] args) {// StrengsammenkoblingString str1 = "Rock";String str2 = "Star";// Metode 1: Bruke concatStreng str3 = str1.concat (str2);System.out.println (str3);// Metode 2: Bruke "+" operatorStreng str4 = str1 + str2;System.out.println (str4);}}

Viktige Java-strengemetoder:

La oss stille Java String-klassen noen spørsmål og se om den kan svare på dem;)

Streng "Lengde" Metode

Hvordan vil du bestemme lengden på gitt streng? Jeg har gitt en metode som kalles "lengde". Bruk den mot strengen du trenger for å finne lengden.

offentlig klasse Sample_String {public static void main (String [] args) {// Eksempelstrengen vår for denne opplæringenStreng str_Sample = "RockStar";// Lengde på en strengSystem.out.println ("Lengde på streng: + str_Sample.length ());}}

produksjon:

Length of String: 8

Streng "indexOf" -metode

Hvis jeg vet lengden, hvordan ville jeg finne hvilken karakter som er i hvilken posisjon? Kort sagt, hvordan finner jeg indeksen til et tegn?

Du svarte deg selv, kompis, det er en “indexOf” -metode som vil hjelpe deg med å bestemme plasseringen til et spesifikt tegn du spesifiserer.

offentlig klasse Sample_String {public static void main (String [] args) {// Character at positionStreng str_Sample = "RockStar";System.out.println ("Tegn ved posisjon 5: + str_Sample.charAt (5));// Indeks for et gitt tegnSystem.out.println ("Indeks for tegn 'S': + str_Sample.indexOf ('S'));}}

Produksjon:

Character at position 5: tIndex of character 'S': 4

String "charAt" -metoden

I likhet med det ovennevnte spørsmålet, gitt indeksen, hvordan kjenner jeg karakteren på det stedet?

Enkel igjen !! Bruk “charAt” -metoden og oppgi indeksen hvis karakter du trenger å finne.

offentlig klasse Sample_String {public static void main (String [] args) {// Character at positionStreng str_Sample = "RockStar";System.out.println ("Tegn ved posisjon 5: + str_Sample.charAt (5));}}

Produksjon:

Character at position 5: t

Streng "CompareTo" -metoden

Vil jeg sjekke om strengen som ble generert av en eller annen metode er lik noe jeg vil bekrefte med? Hvordan sammenligner jeg to strenger?

Bruk metoden "CompareTo" og spesifiser strengen du vil sammenligne.

Bruk "CompareToIgnoreCase" i tilfelle du ikke vil at resultatet skal være mellom store og små bokstaver.

Resultatet vil ha verdien 0 hvis argumentstrengen er lik denne strengen; en verdi mindre enn 0 hvis denne strengen er leksikografisk mindre enn strengargumentet; og en verdi større enn 0 hvis denne strengen er leksikografisk større enn strengargumentet.

offentlig klasse Sample_String {public static void main (String [] args) {// Sammenlign med en strengStreng str_Sample = "RockStar";System.out.println ("Sammenlign med 'ROCKSTAR': + str_Sample.compareTo ("rockstar"));// Sammenlign med - Ignorer sakenSystem.out.println ("Sammenlign med 'ROCKSTAR' - sak ignorert: + str_Sample.compareToIgnoreCase ("ROCKSTAR"));}}

Produksjon:

Compare To 'ROCKSTAR': -32Compare To 'ROCKSTAR' - Case Ignored: 0

String "Contain" -metoden

Jeg vet delvis hva strengen skulle ha inneholdt, hvordan bekrefter jeg om strengen inneholder en sekvens med tegn jeg spesifiserer?

Bruk metoden “inneholder” og spesifiser tegnene du trenger å sjekke.

Returnerer sant hvis og bare hvis denne strengen inneholder den angitte sekvensen av tegnverdier.
offentlig klasse Sample_String {public static void main (String [] args) {// Sjekk om Streng inneholder en sekvensStreng str_Sample = "RockStar";System.out.println ("Inneholder sekvens 'tar': + str_Sample.contains ("tar"));}}

Produksjon:

Contains sequence 'tar': true

Streng "slutter med" -metoden

Hvordan bekrefter jeg om en streng slutter med et bestemt suffiks? Igjen svarte du det. Bruk "endsWith" -metoden og spesifiser suffikset i argumentene.

Returnerer sant hvis tegnsekvensen representert av argumentet er et suffiks av tegnsekvensen representert av dette objektet.
offentlig klasse Sample_String {public static void main (String [] args) {// Sjekk om ender med en bestemt sekvensStreng str_Sample = "RockStar";System.out.println ("EndsWith character 'r': + str_Sample.endsWith ("r"));}}

Produksjon:

EndsWith character 'r': true

Streng "erstatt alle" og "erstatt første" -metoden

Jeg vil endre strengen min flere steder og erstatte flere deler av strengen?

Java-streng Erstatt, erstatt alle og erstatt første metoder. Du kan spesifisere den delen av strengen du vil erstatte og erstatningsstrengen i argumentene.

offentlig klasse Sample_String {public static void main (String [] args) {// Erstatt Rock med ordet DukeStreng str_Sample = "RockStar";System.out.println ("Erstatt 'Rock' med 'Duke': + str_Sample.replace ("Rock", "Duke"));}}

Produksjon:

Replace 'Rock' with 'Duke': DukeStar

String Java "tolowercase" og Java "touppercase" Metode

Jeg vil at hele strengen min skal vises med små eller store bokstaver?

Bare bruk metodene “toLowercase ()” eller “ToUpperCase ()” mot strengene som må konverteres.

offentlig klasse Sample_String {public static void main (String [] args) {// Konverter til LowerCaseStreng str_Sample = "RockStar";System.out.println ("Konverter til LowerCase: + str_Sample.toLowerCase ());// Konverter til UpperCaseSystem.out.println ("Konverter til UpperCase: + str_Sample.toUpperCase ());}}

Produksjon:

Convert to LowerCase: rockstarConvert to UpperCase: ROCKSTAR

Viktige punkter å merke seg:

  • String er en siste klasse ; dvs. når verdien er opprettet, kan den ikke endres. Dermed kalles strengobjekter uforanderlige.
  • Java Virtual Machine (JVM) oppretter en minneplassering spesielt for strenger kalt String Constant Pool . Derfor kan streng initialiseres uten 'nytt' nøkkelord.
  • Strengklasse faller inn under java.lang.Strenghierarki . Men det er ikke nødvendig å importere denne klassen. Java-plattformen gir dem automatisk.
  • Strengreferanse kan overstyres, men det sletter ikke innholdet ; dvs. hvis

String h1 = "hei";

h1 = "hei" + "verden";

da blir ikke "hei" String slettet. Det mister bare håndtaket.

  • Flere referanser kan brukes for samme streng, men den vil forekomme på samme sted ; dvs. hvis

String h1 = "hei";

String h2 = "hei";

String h3 = "hei";

da opprettes bare ett basseng for streng “hei” i minnet med 3 referanser-h1, h2, h3

  • Hvis et nummer er sitert i “”, blir det en streng , ikke et tall lenger. Det betyr at hvis

Streng S1 = "Tallet er: + "123" + "456";

System. ut .println (S1);

så vil den skrives ut: Nummeret er: 123456

Hvis initialiseringen er slik:

Streng S1 = "Tallet er: + (123 + 456);

System. ut .println (S1);

da vil den skrive ut: Tallet er: 579 Det er alt for strenger!