Strengmanipulering i Java med EKSEMPEL
โก Smart oppsummering
Strengmanipulering i Java er avhengig av String-klassen, som representerer tekst som en matrise med tegn, og tilbyr innebygde metoder som length, indexOf, charAt, compareTo, contains, replace og konvertering av store og smรฅ bokstaver for รฅ behandle og transformere tekst effektivt.

Hva er strenger i Java?
En streng i bokstavelige termer er en serie med tegn. Hei, sa du tegn, er det ikke en primitiv datatype? Java. Ja, sรฅ i tekniske termer, det grunnleggende Java String er i utgangspunktet en rekke tegn.
Sรฅ strengen min ovenfor med "ROSE" kan representeres som fรธlgende -
Hvorfor bruke strenger?
En av hovedfunksjonene til moderne informatikk er รฅ behandle menneskelig sprรฅk.
Pรฅ samme mรฅte som tall er viktige i matematikk, er sprรฅksymboler viktige for mening og beslutningstaking. Selv om de kanskje ikke er synlige for databrukere, behandler datamaskiner sprรฅk i bakgrunnen like presist og nรธyaktig som en kalkulator. Hjelpedialoger gir instruksjoner. Menyer gir valg. Og datavisninger viser statuser, feil og endringer i sprรฅket i sanntid.
Som en Java programmerer, et av hovedverktรธyene dine for lagring og prosessering av sprรฅk kommer til รฅ vรฆre String-klassen.
Eksempler pรฅ strengsyntaks
La oss nรฅ komme til litt syntaks, vi mรฅ tross alt skrive dette i Java kode er det ikke.
String er en rekke tegn, representert som:
//String is an array of characters char[] 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 ikke alltid skrive strengene vรฅre som matriser; derfor kan vi definere strengen i Java som fรธlger:
//Representation of String String strSample_2 = "ROSE";
I tekniske termer er ovenstรฅende representert som:
= ;
Ocuco Strengklasse Java strekker de Objektklasse.
Strengesammenkobling:
Sammenkobling er sammenfรธyning av to eller flere strenger.
Ta en titt pรฅ bildet under-
Vi har to strenger str1 = "Rock" og str2 = "Star"
Hvis vi legger sammen disse to strengene, bรธr vi fรฅ et resultat som str3= โRockStarโ.
Sjekk kodestykket nedenfor, og det forklarer de to metodene for รฅ utfรธre strengsammenkobling.
Fรธrst bruker "konkat"-metoden for String-klassen og andre bruker aritmetisk "+"-operator. Begge resulterer i samme utgang
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); } }
Forventet utgang:
RockStar RockStar
Viktig Java strengmetoder:
La oss spรธrre Java Sett inn noen spรธrsmรฅl og se om den kan svare pรฅ dem:
String "Length" metode
Hvordan vil du bestemme lengden pรฅ gitt streng? Jeg har gitt en metode kalt "lengde". Bruk den mot strengen du trenger for รฅ finne lengden.
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());}}
Forventet utgang:
Length of String: 8
Streng ยซindexOfยป-metoden
Hvis jeg vet lengden, hvordan finner jeg 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 รฅ finne plasseringen til en bestemt karakter du spesifiserer.
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'));}}
Forventet utgang:
Character at position 5: t Index of character 'S': 4
String "charAt" metode
I likhet med spรธrsmรฅlet ovenfor, gitt indeksen, hvordan kjenner jeg tegnet pรฅ det stedet?
Enkelt igjen!! Bruk "charAt"-metoden og oppgi indeksen hvis karakter du trenger รฅ finne.
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));}}
Forventet utgang:
Character at position 5: t
String "CompareTo"-metoden
Vil jeg sjekke om strengen som ble generert av en metode er lik noe jeg vil verifisere 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 skille 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.
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"));}}
Forventet utgang:
Compare To 'ROCKSTAR': -32 Compare To 'ROCKSTAR' - Case Ignored: 0
String "Contain"-metoden
Jeg vet delvis hva strengen skal ha inneholdt, hvordan kan jeg bekrefte om strengen inneholder en sekvens av tegn jeg spesifiserer?
Bruk metoden "inneholderโ og spesifiser tegnene du mรฅ sjekke.
Returer sant hvis og bare hvis denne strengen inneholder den angitte sekvensen av char-verdier.
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"));}}
Forventet utgang:
Contains sequence 'tar': true
Streng ยซendsWithยป-metoden
Hvordan bekrefter jeg om en streng slutter med et bestemt suffiks? Igjen svarte du pรฅ det. Bruk "endsWith"-metoden og spesifiser suffikset i argumentene.
Returer sant hvis tegnsekvensen representert av argumentet er et suffiks av tegnsekvensen representert av dette objektet.
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"));}}
Forventet utgang:
EndsWith character 'r': true
Streng "replaceAll" & "replaceFirst"-metoden
Jeg รธnsker รฅ endre strengen min pรฅ flere steder og erstatte flere deler av strengen?
Java String Replace, replaceAll og replaceFirst metoder. Du kan spesifisere delen av strengen du vil erstatte og erstatningsstrengen i argumentene.
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"));}}
Forventet utgang:
Replace 'Rock' with 'Duke': DukeStar
String Java "to smรฅ bokstaver" & Java Metode med store bokstaver
Jeg vil at hele strengen min skal vises med smรฅ eller store bokstaver?
Bare bruk metodene "toLowercase()" eller "ToUpperCase()" mot strengene som mรฅ konverteres.
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());}}
Forventet utgang:
Convert to LowerCase: rockstar Convert to UpperCase: ROCKSTAR
Viktige punkter รฅ merke seg:
- String er en finaleklasse; dvs. nรฅr den er opprettet, kan verdien ikke endres. Stringobjekter kalles derfor uforanderlige.
- Ocuco Java Virtual Machine(JVM) oppretter en minneplassering spesielt for strenger kalt String ConstantPool. Det er derfor String kan initialiseres uten "nytt" nรธkkelord.
- Strengeklassen faller inn under java.lang.String hierarki. Men det er ikke nรธdvendig รฅ importere denne klassen. Java plattformen gir dem automatisk.
- String referanse kan overstyres, men det sletter ikke innholdet; dvs. hvis
String h1 = "hei";
h1 = "hei"+"verden";
da blir ikke "hei"-strengen slettet. Den mister bare hรฅndtaket.
- Flere referanser kan brukes for samme streng, men det vil forekomme pรฅ samme sted; dvs. hvis
String h1 = "hei";
String h2 = "hei";
String h3 = "hei";
da opprettes bare รฉn pool for streng "hei" i minnet med 3 referanser-h1,h2,h3
- Om en nummeret er oppgitt i " " da det blir en streng, ikke et tall lenger. Det betyr hvis
String S1 =โTallet er: โ+ โ123โ+โ456โณ;
System.ut.println(S1);
sรฅ skrives det ut: Nummeret er: 123456
Hvis initialiseringen er slik:
String S1 = "Tallet er: "+(123+456);
System.out.println(S1);
sรฅ vil den skrives ut: Tallet er:579
Det er alt til Strings!



