1. Sammenligning av strenger
En av de vanligste operasjonene med strenger er sammenligning. String-klassen har over ti forskjellige metoder som brukes til å sammenligne en streng med en annen streng. Nedenfor skal vi ta en titt på syv av de viktigste.
Metoder | Beskrivelse |
---|---|
|
Strenger anses som like hvis alle karakterene deres samsvarer. |
|
Sammenligner strenger, ignorerer store og små bokstaver (ignorerer om de er store eller små) |
|
Sammenligner strenger leksikografisk. Returnerer 0 hvis strengene er like. Returverdien er mindre enn null hvis gjeldende streng er mindre enn strengparameteren. Returverdien er større enn hvis gjeldende streng er større enn strengparameteren. |
|
Sammenligner strenger leksikografisk mens man ignorerer store og små bokstaver. Returnerer 0 hvis strengene er like. Returverdien er negativ hvis gjeldende streng er mindre enn strengparameteren. Returverdien er større enn hvis gjeldende streng er større enn strengparameteren. |
|
Sammenligner deler av strenger |
|
Sjekker om gjeldende streng starter med strengenprefix |
|
Sjekker om gjeldende streng slutter med strengensuffix |
La oss si at du vil skrive et program som ber brukeren om en bane til en fil og deretter sjekker filtypen basert på filtypen. Koden til et slikt program kan se omtrent slik ut:
Kode | Notater |
---|---|
|
Lag et Scanner objekt Les en linje fra konsollen Sjekk om strengen path slutter med den gitte strengen |
2. Søke etter understrenger
Etter å ha sammenlignet strenger, er den nest mest populære operasjonen å finne en streng inne i en annen. String-klassen har også noen få metoder for dette:
Metoder | Beskrivelse |
---|---|
|
Søker etter strengen str i gjeldende streng. Returnerer indeksen til det første tegnet i den første forekomsten. |
|
Søker etter strengen str i gjeldende streng, og hopper over de første index tegnene. Returnerer indeksen for forekomsten. |
|
Søker etter strengen str i gjeldende streng, med start fra slutten. Returnerer indeksen for den første forekomsten. |
|
Søker etter strengen str i gjeldende streng fra slutten, og hopper over de første index tegnene. |
|
Sjekker om gjeldende streng samsvarer med et mønster spesifisert av et regulært uttrykk. |
Metodene indexOf(String)
og indexOf(String, index)
brukes ofte i kombinasjon. Den første metoden lar deg finne den første forekomsten av den beståtte understrengen i gjeldende streng. Og den andre metoden lar deg finne den andre, tredje, osv. forekomsten ved å hoppe over de første indekstegnene.
Anta at vi har en url som " https://domain.com/about/reviews ", og vi ønsker å erstatte domenenavnet med " codegym.cc ". Nettadresser kan ha alle slags forskjellige domenenavn, men vi vet følgende:
- Domenenavnet innledes med to skråstreker – "
//
" - Domenenavnet etterfølges av en enkelt skråstrek - "
/
"
Slik vil koden for et slikt program se ut:
Kode | Notater |
---|---|
|
Lag et skannerobjekt Les en linje fra konsollen Hent indeksen for den første forekomsten av strengen " // " Vi får indeksen til den første forekomsten av strengen / , men ser bare etter en forekomst av tegnene // . Vi får strengen fra begynnelsen til slutten av tegnene // Vi får strengen fra / til slutten. Vi kobler sammen strengene og det nye domenet. |
Metodene lastIndexOf(String)
og lastIndexOf(String, index)
fungerer på samme måte, bare søket utføres fra slutten av strengen til begynnelsen.
3. Opprette delstrenger
I tillegg til å sammenligne strenger og finne understrenger, er det en annen veldig populær handling: å få en understreng fra en streng. Som det skjer, viste forrige eksempel deg et substring()
metodekall som returnerte en del av en streng.
Her er en liste over 8 metoder som returnerer understrenger fra gjeldende streng:
Metoder | Beskrivelse |
---|---|
|
Returnerer delstrengen spesifisert av indeksområdet beginIndex..endIndex . |
|
Gjentar gjeldende streng n ganger |
|
Returnerer en ny streng: erstatter tegnet oldChar med tegnetnewChar |
|
Erstatter den første delstrengen, spesifisert av et regulært uttrykk, i gjeldende streng. |
|
Erstatter alle understrenger i gjeldende streng som samsvarer med det regulære uttrykket. |
|
Konverterer strengen til små bokstaver |
|
Konverterer strengen til store bokstaver |
|
Fjerner alle mellomrom på begynnelsen og slutten av en streng |
Her er en oppsummering av de tilgjengelige metodene:
substring(int beginIndex, int endIndex)
metode
Metoden substring
returnerer en ny streng som består av tegn i gjeldende streng, som starter ved tegnet med indeks beginIndex
og slutter på endIndex
. Som med alle intervaller i Java, er ikke tegnet med indeks endIndex
inkludert i intervallet. Eksempler:
Kode | Resultat |
---|---|
|
|
|
|
|
|
|
|
Hvis endIndex
parameteren ikke er spesifisert (noe som er mulig), blir delstrengen tatt fra tegn ved beginIndex til slutten av strengen.
repeat(int n)
metode
Gjentametoden gjentar ganske enkelt gjeldende strengtider n
. Eksempel:
Kode | Resultat |
---|---|
|
|
|
|
|
|
|
|
replace(char oldChar, char newChar)
metode
Metoden replace()
returnerer en ny streng der alle tegn oldChar
erstattes med tegnet newChar
. Dette endrer ikke lengden på strengen. Eksempel:
Kode | Resultat |
---|---|
|
|
|
|
|
|
|
|
replaceFirst()
og replaceAll()
metoder
Metoden replaceAll()
erstatter alle forekomster av en delstreng med en annen. Metoden replaceFirst()
erstatter den første forekomsten av den beståtte understrengen med den angitte understrengen. Strengen som skal erstattes er spesifisert av et regulært uttrykk. Vi vil fordype oss i vanlige uttrykk i Java Multithreading- oppdraget.
Eksempler:
Kode | Resultat |
---|---|
|
|
|
|
|
|
|
|
toLowerCase() and toUpperCase()
metoder
Vi ble kjent med disse metodene da vi først lærte om å kalle metodene i klassen String
.
trim()
metode
Metoden trim()
fjerner ledende og etterfølgende mellomrom fra en streng. Berører ikke mellomrom som er inne i en streng (dvs. ikke i begynnelsen eller slutten). Eksempler:
Kode | Resultat |
---|---|
|
|
|
|
|
|
|
|
GO TO FULL VERSION