1. Strings vergelijken
Een van de meest voorkomende bewerkingen met tekenreeksen is vergelijking. De klasse String heeft meer dan tien verschillende methoden die worden gebruikt om de ene string met de andere te vergelijken. Hieronder zullen we zeven van de belangrijkste bekijken.
methoden | Beschrijving |
---|---|
|
Tekenreeksen worden als gelijk beschouwd als al hun tekens overeenkomen. |
|
Vergelijkt tekenreeksen, negeert hoofdletters of kleine letters (negeert of het hoofdletters of kleine letters zijn) |
|
Vergelijkt strings lexicografisch. Retourneert 0 als de tekenreeksen gelijk zijn. De geretourneerde waarde is kleiner dan nul als de huidige tekenreeks kleiner is dan de tekenreeksparameter. De geretourneerde waarde is groter dan wanneer de huidige tekenreeks groter is dan de tekenreeksparameter. |
|
Vergelijkt strings lexicografisch terwijl hoofdlettergebruik wordt genegeerd. Retourneert 0 als de tekenreeksen gelijk zijn. De geretourneerde waarde is negatief als de huidige tekenreeks kleiner is dan de tekenreeksparameter. De geretourneerde waarde is groter dan wanneer de huidige tekenreeks groter is dan de tekenreeksparameter. |
|
Vergelijkt delen van strings |
|
Controleert of de huidige string begint met de stringprefix |
|
Controleert of de huidige string eindigt met de stringsuffix |
Stel dat u een programma wilt schrijven dat de gebruiker om een pad naar een bestand vraagt en vervolgens het bestandstype controleert op basis van de extensie. De code van zo'n programma kan er ongeveer zo uitzien:
Code | Notities |
---|---|
|
Maak een Scanner object Lees een regel uit de console Controleer of de string path eindigt met de gegeven string |
2. Substrings zoeken
Na het vergelijken van strings is de tweede meest populaire operatie het vinden van de ene string in de andere. De klasse String heeft hiervoor ook enkele methoden:
methoden | Beschrijving |
---|---|
|
Zoekt naar de tekenreeks str in de huidige tekenreeks. Retourneert de index van het eerste teken van de eerste instantie. |
|
Zoekt naar de tekenreeks str in de huidige tekenreeks, waarbij de eerste index tekens worden overgeslagen. Retourneert de index van de gebeurtenis. |
|
Zoekt naar de tekenreeks str in de huidige tekenreeks, beginnend vanaf het einde. Retourneert de index van het eerste exemplaar. |
|
Zoekt naar de tekenreeks str in de huidige tekenreeks vanaf het einde, waarbij de eerste index tekens worden overgeslagen. |
|
Controleert of de huidige tekenreeks overeenkomt met een patroon dat is opgegeven door een reguliere expressie. |
De methoden indexOf(String)
en indexOf(String, index)
worden vaak in combinatie gebruikt. Met de eerste methode kunt u het eerste exemplaar van de doorgegeven subtekenreeks in de huidige tekenreeks vinden. En met de tweede methode kunt u de tweede, derde enz. Vinden door de eerste indextekens over te slaan.
Stel dat we een url hebben zoals " https://domain.com/about/reviews ", en we willen de domeinnaam vervangen door " codegym.cc ". URL's kunnen allerlei verschillende domeinnamen hebben, maar we weten het volgende:
- De domeinnaam wordt voorafgegaan door twee schuine strepen — "
//
" - De domeinnaam wordt gevolgd door een enkele schuine streep naar voren — "
/
"
Dit is hoe de code voor zo'n programma eruit zou zien:
Code | Notities |
---|---|
|
Maak een Scanner-object Lees een regel van de console Haal de index op van de eerste keer dat de string voorkomt " // " We krijgen de index van de eerste keer dat de string voorkomt / , maar kijken alleen naar het voorkomen van de karakters // . We krijgen de string van het begin tot het einde van de tekens. // We krijgen de string van / tot het einde. We voegen de strings en het nieuwe domein samen. |
De methoden lastIndexOf(String)
en lastIndexOf(String, index)
werken op dezelfde manier, alleen wordt er gezocht vanaf het einde van de tekenreeks tot het begin.
3. Subtekenreeksen maken
Naast het vergelijken van strings en het vinden van substrings, is er nog een andere zeer populaire actie: een substring halen uit een string. Toevallig liet het vorige voorbeeld je een substring()
methodeaanroep zien die een deel van een string teruggaf.
Hier is een lijst met 8 methoden die subtekenreeksen van de huidige tekenreeks retourneren:
methoden | Beschrijving |
---|---|
|
Retourneert de subtekenreeks die is opgegeven door het indexbereik beginIndex..endIndex . |
|
Herhaalt de huidige string n keer |
|
Retourneert een nieuwe tekenreeks: vervangt het teken oldChar door het tekennewChar |
|
Vervangt de eerste subtekenreeks, gespecificeerd door een reguliere expressie, in de huidige tekenreeks. |
|
Vervangt alle substrings in de huidige string die overeenkomen met de reguliere expressie. |
|
Converteert de tekenreeks naar kleine letters |
|
Converteert de tekenreeks naar hoofdletters |
|
Verwijdert alle spaties aan het begin en einde van een string |
Hier is een samenvatting van de beschikbare methoden:
substring(int beginIndex, int endIndex)
methode
De substring
methode retourneert een nieuwe string die bestaat uit tekens in de huidige string, beginnend bij het teken met index beginIndex
en eindigend op endIndex
. Zoals bij alle intervallen in Java, endIndex
is het teken met index niet opgenomen in het interval. Voorbeelden:
Code | Resultaat |
---|---|
|
|
|
|
|
|
|
|
Als de endIndex
parameter niet is opgegeven (wat mogelijk is), wordt de subtekenreeks overgenomen van het teken bij beginIndex tot het einde van de tekenreeks.
repeat(int n)
methode
De herhalingsmethode herhaalt eenvoudigweg de huidige reekstijden n
. Voorbeeld:
Code | Resultaat |
---|---|
|
|
|
|
|
|
|
|
replace(char oldChar, char newChar)
methode
De replace()
methode retourneert een nieuwe string waarin alle tekens oldChar
zijn vervangen door het teken newChar
. Dit verandert niets aan de lengte van de string. Voorbeeld:
Code | Resultaat |
---|---|
|
|
|
|
|
|
|
|
replaceFirst()
en replaceAll()
methoden
De replaceAll()
methode vervangt alle exemplaren van de ene subtekenreeks door een andere. De replaceFirst()
methode vervangt de eerste keer dat de doorgegeven subtekenreeks voorkomt door de opgegeven subtekenreeks. De te vervangen tekenreeks wordt gespecificeerd door een reguliere expressie. We zullen ingaan op reguliere expressies in de Java Multithreading- zoektocht.
Voorbeelden:
Code | Resultaat |
---|---|
|
|
|
|
|
|
|
|
toLowerCase() and toUpperCase()
methoden
We hebben deze methoden leren kennen toen we voor het eerst leerden over het aanroepen van de methoden van de String
klas.
trim()
methode
De trim()
methode verwijdert voorloop- en volgspaties uit een string. Raakt geen spaties binnen een string (dwz niet aan het begin of einde). Voorbeelden:
Code | Resultaat |
---|---|
|
|
|
|
|
|
|
|
GO TO FULL VERSION