Ett föreläsningsutdrag med en mentor som en del av Codegym University-kursen. Anmäl dig till hela kursen.
1 Jämför strängar
En av de vanligaste operationerna med strängar är jämförelse. Klassen String har över tio olika metoder som används för att jämföra en sträng med en annan sträng. Nedan ska vi ta en titt på 8 av de viktigaste.
Metoder | Beskrivning |
---|---|
|
Strängar anses vara lika om alla deras karaktärer matchar. |
|
Jämför strängar, ignorerar skiftläge för bokstäver (ignorerar om de är stora eller små bokstäver) |
|
Jämför strängar, returnerar antalet matchande tecken från början av strängen. |
|
Returnerar antalet matchande tecken från början av en sträng, ignorerar skiftläge |
|
Jämför delar av strängar |
|
Kontrollerar om den aktuella strängen börjar med strängenprefix |
|
Kontrollerar om den aktuella strängen slutar med strängensuffix |
Låt oss säga att du vill skriva ett program som ber användaren om en sökväg till en fil och sedan kontrollerar filtypen baserat på dess tillägg. Koden för ett sådant program kan se ut ungefär så här:
Koda | Anteckningar |
---|---|
|
Skapa ett Scanner objekt Läs en rad från konsolen Kontrollera om strängen path slutar med den givna strängen |
2 Söker efter delsträngar
Efter att ha jämfört strängar är den näst mest populära operationen att hitta en sträng inuti en annan. Klassen String har också några metoder för detta:
Metoder | Beskrivning |
---|---|
|
Söker efter strängen str i den aktuella strängen. Returnerar indexet för det första tecknet i den första förekomsten. |
|
Söker efter strängen str i den aktuella strängen och hoppar över de första index tecknen. Returnerar index för förekomsten. |
|
Söker efter strängen str i den aktuella strängen, med början från slutet. Returnerar indexet för den första förekomsten. |
|
Söker efter strängen str i den aktuella strängen från slutet och hoppar över de första index tecknen. |
|
Kontrollerar om den aktuella strängen matchar ett mönster som anges av ett reguljärt uttryck. |
Metoderna indexOf(String)
och indexOf(String, index)
används ofta i kombination. Den första metoden låter dig hitta den första förekomsten av den skickade delsträngen i den aktuella strängen. Och den andra metoden låter dig hitta den andra, tredje, etc. förekomsten genom att hoppa över de första indextecknen.
Anta att vi har en url som " https://domain.com/about/reviews ", och vi vill ersätta domännamnet med " codegym.cc ". Webbadresser kan ha alla möjliga olika domännamn, men vi vet följande:
- Domännamnet föregås av två snedstreck - "//"
- Domännamnet följs av ett enda snedstreck — "
/
"
Så här skulle koden för ett sådant program se ut:
Koda | Anteckningar |
---|---|
|
Skapa ett skannerobjekt Läs en rad från konsolen Hämta indexet för den första förekomsten av strängen " " // Vi får indexet för den första förekomsten av strängen , / men ser bara efter en förekomst av tecknen // . Vi får strängen från början till slutet av tecknen // Vi får strängen från / till slutet. Vi sammanfogar strängarna och den nya domänen. |
Metoderna lastIndexOf(String)
och lastIndexOf(String, index)
fungerar på samma sätt, endast sökningen utförs från slutet av strängen till början.
3 Skapa delsträngar
Ett föreläsningsutdrag med en mentor som en del av Codegym University-kursen. Anmäl dig till hela kursen.
Förutom att jämföra strängar och hitta delsträngar finns det en annan mycket populär åtgärd: att hämta en delsträng från en sträng. Som det händer visade det föregående exemplet dig ett substring()
metodanrop som returnerade en del av en sträng.
Här är en lista med 8 metoder som returnerar delsträngar från den aktuella strängen:
Metoder | Beskrivning |
---|---|
|
Returnerar delsträngen som anges av indexintervallet beginIndex..endIndex . |
|
Upprepar den aktuella strängen n gånger |
|
Returnerar en ny sträng: ersätter tecknet oldChar med tecknetnewChar |
|
Ersätter den första delsträngen, specificerad av ett reguljärt uttryck, i den aktuella strängen. |
|
Ersätter alla delsträngar i den aktuella strängen som matchar det reguljära uttrycket. |
|
Konverterar strängen till gemener |
|
Konverterar strängen till versaler |
|
Tar bort alla mellanslag i början och slutet av en sträng |
Här är en sammanfattning av de tillgängliga metoderna:
substring(int beginIndex, int endIndex)
metod
Metoden substring
returnerar en ny sträng som består av tecken i den aktuella strängen, som börjar med tecknet med index beginIndex
och slutar på endIndex
. Som med alla intervall i Java ingår inte tecknet med index endIndex
i intervallet. Exempel:
Koda | Resultat |
---|---|
|
|
|
|
|
|
|
|
Om endIndex
parametern inte är specificerad (vilket är möjligt), så tas delsträngen från tecken vid beginIndex till slutet av strängen.
repeat(int n)
metod
Upprepningsmetoden upprepar helt enkelt de aktuella strängtiderna n
. Exempel:
Koda | Resultat |
---|---|
|
|
|
|
|
|
|
|
replace(char oldChar, char newChar)
metod
Metoden replace()
returnerar en ny sträng där alla tecken oldChar
ersätts med tecknet newChar
. Detta ändrar inte längden på strängen. Exempel:
Koda | Resultat |
---|---|
|
|
|
|
|
|
|
|
replaceFirst()
och replaceAll()
metoder
Metoden replaceAll()
ersätter alla förekomster av en delsträng med en annan. Metoden replaceFirst()
ersätter den första förekomsten av den skickade delsträngen med den angivna delsträngen. Strängen som ska ersättas anges av ett reguljärt uttryck. Vi kommer att fördjupa oss i reguljära uttryck i Java Multithreading- uppdraget.
Exempel:
Koda | Resultat |
---|---|
|
|
|
|
|
|
|
|
toLowerCase() and toUpperCase()
metoder
Vi lärde känna dessa metoder när vi först lärde oss om att kalla klassens metoder String
.
trim()
metod
Metoden trim()
tar bort inledande och efterföljande mellanslag från en sträng. Rör inte mellanslag som finns inuti en sträng (dvs inte i början eller slutet). Exempel:
Koda | Resultat |
---|---|
|
|
|
|
|
|
|
|
GO TO FULL VERSION