Stringmanipulation i Java med EKSEMPEL
โก Smart opsummering
Stringmanipulation i Java er afhรฆngig af String-klassen, som reprรฆsenterer tekst som et array af tegn, og tilbyder indbyggede metoder som length, indexOf, charAt, compareTo, contains, replace og case conversion til at behandle og transformere tekst effektivt.

Hvad er strenge i Java?
En streng er bogstavelig talt en rรฆkke tegn. Hej, sagde du tegn, er det ikke en primitiv dataindtastning Java. Ja, sรฅ i tekniske termer, det grundlรฆggende Java String er dybest set en rรฆkke tegn.
Sรฅ min ovenstรฅende streng af "ROSEโ kan reprรฆsenteres som fรธlgende โ
Hvorfor bruge Strings?
En af de primรฆre funktioner i moderne computervidenskab er at behandle menneskeligt sprog.
Ligesom tal er vigtige for matematik, er sprogsymboler vigtige for mening og beslutningstagning. Selvom de mรฅske ikke er synlige for computerbrugere, behandler computere sprog i baggrunden lige sรฅ prรฆcist og nรธjagtigt som en lommeregner. Hjรฆlpedialoger giver instruktioner. Menuer giver valgmuligheder. Og datavisninger viser statusser, fejl og รฆndringer i sproget i realtid.
Som en Java programmรธr, et af dine vigtigste vรฆrktรธjer til lagring og behandling af sprog vil vรฆre String-klassen.
Eksempler pรฅ strengsyntaks
Lad os nu komme til noget syntaks, vi skal trods alt skrive dette i Java kode er det ikke.
Streng er en rรฆkke tegn, reprรฆsenteret som:
//String is an array of characters char[] arrSample = {'R', 'O', 'S', 'E'}; String strSample_1 = new String (arrSample);
I tekniske termer er strengen defineret som fรธlger i ovenstรฅende eksempel-
= new (argument);
Nu kan vi altid ikke skrive vores strenge som arrays; derfor kan vi definere strengen i Java som fรธlger:
//Representation of String String strSample_2 = "ROSE";
I tekniske termer er ovenstรฅende reprรฆsenteret som:
= ;
Strengklasse Java udvider og Objektklasse.
Strengsammenkรฆdning:
Sammenkรฆdning er sammenfรธjning af to eller flere strenge.
Tag et kig pรฅ billedet nedenfor-
Vi har to strenge str1 = "Rock" og str2 = "Star"
Hvis vi lรฆgger disse to strenge sammen, skulle vi have et resultat som str3= "RockStar".
Tjek kodestykket nedenfor, det forklarer de to metoder til at udfรธre strengsammenkรฆdning.
Fรธrst bruger "konkat"-metoden af โโString-klasse og anden bruger aritmetisk "+"-operator. Begge resulterer i det samme output
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 output:
RockStar RockStar
Vigtig Java streng metoder:
Lad os spรธrge Java Stil et par spรธrgsmรฅl i klassen, og se om den kan besvare dem:
String "Lรฆngde" metode
Hvordan vil du bestemme lรฆngden af โโen given streng? Jeg har givet en metode kaldet "lรฆngde". Brug den mod den streng, du skal bruge for at finde lรฆngden.
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 output:
Length of String: 8
Streng "indexOf" metode
Hvis jeg kender lรฆngden, hvordan finder jeg sรฅ ud af hvilken karakter der er i hvilken position? Kort sagt, hvordan finder jeg indekset for et tegn?
Du svarede dig selv, ven, der er en "indexOf"-metode, der vil hjรฆlpe dig med at bestemme placeringen af โโen bestemt karakter, som du angiver.
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 output:
Character at position 5: t Index of character 'S': 4
String "charAt" metode
I lighed med ovenstรฅende spรธrgsmรฅl, givet indekset, hvordan kender jeg karakteren pรฅ det sted?
Simpel en igen!! Brug "charAt"-metoden og angiv det indeks, hvis karakter du skal finde.
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 output:
Character at position 5: t
String "CompareTo"-metoden
Vil jeg kontrollere, om den streng, der blev genereret af en eller anden metode, er lig med noget, jeg vil verificere med? Hvordan sammenligner jeg to strenge?
Brug metoden "compareTo" og angiv den streng, du gerne vil sammenligne.
Brug "compareToIgnoreCase", hvis du ikke รธnsker, at resultatet skal skelne mellem store og smรฅ bogstaver.
Resultatet vil have vรฆrdien 0, hvis argumentstrengen er lig med denne streng; en vรฆrdi mindre end 0, hvis denne streng er leksikografisk mindre end strengargumentet; og en vรฆrdi stรธrre end 0, hvis denne streng er leksikografisk stรธrre end 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 output:
Compare To 'ROCKSTAR': -32 Compare To 'ROCKSTAR' - Case Ignored: 0
String "Indeholder" metode
Jeg ved delvist, hvad strengen skulle have indeholdt, hvordan bekrรฆfter jeg, om strengen indeholder en sekvens af tegn, jeg angiver?
Brug metoden "indeholderโ og angiv de tegn, du skal kontrollere.
Returpolitik sand hvis og kun hvis denne streng indeholder den angivne sekvens af char-vรฆrdier.
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 output:
Contains sequence 'tar': true
String "endsWith"-metoden
Hvordan bekrรฆfter jeg, om en streng slutter med et bestemt suffiks? Igen svarede du pรฅ det. Brug metoden "endsWith" og angiv suffikset i argumenterne.
Returpolitik sand hvis tegnsekvensen reprรฆsenteret af argumentet er et suffiks af tegnsekvensen reprรฆsenteret af dette objekt.
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 output:
EndsWith character 'r': true
String "erstat alle" & "erstat fรธrst" metode
Jeg vil รฆndre min streng flere steder og erstatte flere dele af strengen?
Java String Replace, replaceAll og replaceFirst metoder. Du kan angive den del af strengen, du vil erstatte, og erstatningsstrengen i argumenterne.
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 output:
Replace 'Rock' with 'Duke': DukeStar
String Java "med smรฅ bogstaver" & Java Metode med "store bogstaver".
Jeg vil have hele min streng vist med smรฅ bogstaver eller store bogstaver?
Brug blot metoderne "toLowercase()" eller "ToUpperCase()" mod de strenge, der skal 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 output:
Convert to LowerCase: rockstar Convert to UpperCase: ROCKSTAR
Vigtige punkter at bemรฆrke:
- String er en sidste klasse; dvs. nรฅr fรธrst den er oprettet, kan vรฆrdien ikke รฆndres. Stringobjekter kaldes derfor uforanderlige.
- Java Virtual Machine(JVM) opretter en hukommelsesplacering specielt til Strings kaldet String Constant Pool. Det er derfor String kan initialiseres uden 'nyt' nรธgleord.
- String klasse falder ind under java.lang.String hierarki. Men der er ingen grund til at importere denne klasse. Java platform giver dem automatisk.
- String reference kan tilsidesรฆttes, men det sletter ikke indholdet; dvs. hvis
String h1 = "hej";
h1 = "hej"+"verden";
sรฅ bliver "hej" streng ikke slettet. Den mister bare sit hรฅndtag.
- Flere referencer kan bruges til samme streng, men det vil den forekomme samme sted; dvs. hvis
String h1 = "hej";
String h2 = "hej";
String h3 = "hej";
sรฅ oprettes der kun รฉn pulje til streng "hej" i hukommelsen med 3 referencer-h1,h2,h3
- Hvis en nummer er angivet i " " sรฅ det bliver til en snor, ikke et tal lรฆngere. Det betyder hvis
String S1 ="Tallet er: "+ "123"+"456โณ;
Systemet.ud.println(S1);
sรฅ udskrives: Nummeret er: 123456
Hvis initialiseringen er sรฅdan:
String S1 = โTallet er: โ+(123+456);
System.out.println(S1);
sรฅ udskrives: Nummeret er:579
Det er alt til Strings!



