1. Sammenligning af strenge
En af de mest almindelige operationer med strenge er sammenligning. String-klassen har over ti forskellige metoder, der bruges til at sammenligne en streng med en anden streng. Nedenfor vil vi tage et kig på syv af de vigtigste.
Metoder | Beskrivelse |
---|---|
|
Strenge betragtes som ens, hvis alle deres karakterer matcher. |
|
Sammenligner strenge, ignorerer store og små bogstaver (ignorerer om de er store eller små) |
|
Sammenligner strenge leksikografisk. Returnerer 0, hvis strengene er ens. Returværdien er mindre end nul, hvis den aktuelle streng er mindre end strengparameteren. Returværdien er større, end hvis den aktuelle streng er større end strengparameteren. |
|
Sammenligner strenge leksikografisk, mens der ignoreres store og små bogstaver. Returnerer 0, hvis strengene er ens. Returværdien er negativ, hvis den aktuelle streng er mindre end strengparameteren. Returværdien er større, end hvis den aktuelle streng er større end strengparameteren. |
|
Sammenligner dele af strenge |
|
Kontrollerer, om den aktuelle streng starter med strengenprefix |
|
Kontrollerer, om den aktuelle streng slutter med strengensuffix |
Lad os sige, at du vil skrive et program, der beder brugeren om en sti til en fil og derefter kontrollerer filtypen baseret på dens udvidelse. Koden for et sådant program kan se sådan ud:
Kode | Noter |
---|---|
|
Opret et Scanner objekt Læs en linje fra konsollen Tjek om strengen path slutter med den givne streng |
2. Søgning efter understrenge
Efter at have sammenlignet strenge, er den næstmest populære operation at finde en streng inde i en anden. String-klassen har også et par metoder til dette:
Metoder | Beskrivelse |
---|---|
|
Søger efter strengen str i den aktuelle streng. Returnerer indekset for det første tegn i den første forekomst. |
|
Søger efter strengen str i den aktuelle streng og springer de første index tegn over. Returnerer indekset for forekomsten. |
|
Søger efter strengen str i den aktuelle streng, startende fra slutningen. Returnerer indekset for den første forekomst. |
|
Søger efter strengen str i den aktuelle streng fra slutningen og springer de første index tegn over. |
|
Kontrollerer, om den aktuelle streng matcher et mønster, der er angivet af et regulært udtryk. |
Metoderne indexOf(String)
og indexOf(String, index)
bruges ofte i kombination. Den første metode lader dig finde den første forekomst af den beståede understreng i den aktuelle streng. Og den anden metode lader dig finde den anden, tredje, osv. forekomst ved at springe de første indekstegn over.
Antag, at vi har en url som " https://domain.com/about/reviews ", og vi ønsker at erstatte domænenavnet med " codegym.cc ". URL'er kan have alle mulige forskellige domænenavne, men vi kender følgende:
- Domænenavnet er indledt af to skråstreger - "
//
" - Domænenavnet efterfølges af en enkelt skråstreg – "
/
"
Sådan ser koden til et sådant program ud:
Kode | Noter |
---|---|
|
Opret et scannerobjekt Læs en linje fra konsollen Hent indekset for den første forekomst af strengen " // " Vi får indekset for den første forekomst af strengen / , men ser kun efter en forekomst af tegnene // . Vi får strengen fra begyndelsen til slutningen af tegnene // Vi får strengen fra / til slutningen. Vi sammenkæder strengene og det nye domæne. |
Metoderne lastIndexOf(String)
og lastIndexOf(String, index)
fungerer på samme måde, kun søgningen udføres fra slutningen af strengen til begyndelsen.
3. Oprettelse af understrenge
Ud over at sammenligne strenge og finde understrenge, er der en anden meget populær handling: at få en understreng fra en streng. Som det sker, viste det forrige eksempel dig et substring()
metodekald, der returnerede en del af en streng.
Her er en liste over 8 metoder, der returnerer understrenge fra den aktuelle streng:
Metoder | Beskrivelse |
---|---|
|
Returnerer den understreng, der er angivet af indeksområdet beginIndex..endIndex . |
|
Gentager den aktuelle streng n gange |
|
Returnerer en ny streng: erstatter tegnet oldChar med tegnetnewChar |
|
Erstatter den første understreng, angivet af et regulært udtryk, i den aktuelle streng. |
|
Erstatter alle understrenge i den aktuelle streng, der matcher det regulære udtryk. |
|
Konverterer strengen til små bogstaver |
|
Konverterer strengen til store bogstaver |
|
Fjerner alle mellemrum i begyndelsen og slutningen af en streng |
Her er en oversigt over de tilgængelige metoder:
substring(int beginIndex, int endIndex)
metode
Metoden substring
returnerer en ny streng, der består af tegn i den aktuelle streng, startende ved tegnet med indeks beginIndex
og slutter ved endIndex
. Som med alle intervaller i Java er tegnet med indeks endIndex
ikke inkluderet i intervallet. Eksempler:
Kode | Resultat |
---|---|
|
|
|
|
|
|
|
|
Hvis endIndex
parameteren ikke er angivet (hvilket er muligt), så tages understrengen fra karakter ved beginIndex til slutningen af strengen.
repeat(int n)
metode
Gentagelsesmetoden gentager simpelthen de aktuelle strengtider n
. Eksempel:
Kode | Resultat |
---|---|
|
|
|
|
|
|
|
|
replace(char oldChar, char newChar)
metode
Metoden replace()
returnerer en ny streng, hvor alle tegn oldChar
er erstattet med tegnet newChar
. Dette ændrer ikke på længden af strengen. Eksempel:
Kode | Resultat |
---|---|
|
|
|
|
|
|
|
|
replaceFirst()
og replaceAll()
metoder
Metoden replaceAll()
erstatter alle forekomster af en understreng med en anden. Metoden replaceFirst()
erstatter den første forekomst af den beståede understreng med den angivne understreng. Den streng, der skal erstattes, er angivet af et regulært udtryk. Vi vil dykke ned i regulære udtryk i Java Multithreading- quest.
Eksempler:
Kode | Resultat |
---|---|
|
|
|
|
|
|
|
|
toLowerCase() and toUpperCase()
metoder
Vi lærte disse metoder at kende, da vi første gang lærte at kalde klassens metoder String
.
trim()
metode
Metoden trim()
fjerner førende og efterfølgende mellemrum fra en streng. Rør ikke mellemrum, der er inde i en streng (dvs. ikke i begyndelsen eller slutningen). Eksempler:
Kode | Resultat |
---|---|
|
|
|
|
|
|
|
|
GO TO FULL VERSION