1. Compararea corzilor
Una dintre cele mai comune operațiuni cu șiruri este compararea. Clasa String are peste zece metode diferite care sunt folosite pentru a compara un șir cu un alt șir. Mai jos vom arunca o privire la șapte dintre cele principale.
Metode | Descriere |
---|---|
|
Șirurile sunt considerate egale dacă toate caracterele lor se potrivesc. |
|
Compară șirurile de caractere, ignorând majusculele literelor (ignoră dacă sunt litere mari sau mici) |
|
Compară șiruri de caractere lexicografic. Returnează 0 dacă șirurile sunt egale. Valoarea returnată este mai mică decât zero dacă șirul curent este mai mic decât parametrul șir. Valoarea returnată este mai mare decât dacă șirul curent este mai mare decât parametrul șir. |
|
Compară șiruri de caractere lexicografic, ignorând majuscule și minuscule. Returnează 0 dacă șirurile sunt egale. Valoarea returnată este negativă dacă șirul curent este mai mic decât parametrul șir. Valoarea returnată este mai mare decât dacă șirul curent este mai mare decât parametrul șir. |
|
Compară părți de șiruri |
|
Verifică dacă șirul curent începe cu șirulprefix |
|
Verifică dacă șirul curent se termină cu șirulsuffix |
Să presupunem că doriți să scrieți un program care cere utilizatorului o cale către un fișier și apoi verifică tipul fișierului în funcție de extensia acestuia. Codul unui astfel de program ar putea arăta cam așa:
Cod | Note |
---|---|
|
Creați un Scanner obiect Citiți o linie din consolă Verificați dacă șirul path se termină cu șirul dat |
2. Căutarea subșirurilor
După compararea șirurilor, a doua cea mai populară operațiune este găsirea unui șir în altul. Clasa String are, de asemenea, câteva metode pentru aceasta:
Metode | Descriere |
---|---|
|
Caută șirul str în șirul curent. Returnează indexul primului caracter al primei apariții. |
|
Caută șirul str în șirul curent, omitând primele index caractere. Returnează indexul apariției. |
|
Caută șirul str în șirul curent, începând de la sfârșit. Returnează indexul primei apariții. |
|
Caută șirul str din șirul curent de la sfârșit, omitând primele index caractere. |
|
Verifică dacă șirul curent se potrivește cu un model specificat de o expresie regulată. |
Metodele indexOf(String)
și indexOf(String, index)
sunt adesea folosite în combinație. Prima metodă vă permite să găsiți prima apariție a subșirului trecut în șirul curent. Iar a doua metodă vă permite să găsiți a doua, a treia apariție etc., omitând primele caractere index.
Să presupunem că avem o adresă URL de genul „ https://domain.com/about/reviews ” și dorim să înlocuim numele domeniului cu „ codegym.cc ”. Adresele URL pot avea tot felul de nume de domenii diferite, dar știm următoarele:
- Numele de domeniu este precedat de două bare oblice — "
//
" - Numele de domeniu este urmat de o singură bară oblică - "
/
"
Iată cum ar arăta codul pentru un astfel de program:
Cod | Note |
---|---|
|
Creați un obiect Scanner Citiți o linie din consolă Obțineți indexul primei apariții a șirului " // " Obținem indexul primei apariții a șirului / , dar ne uităm numai după o apariție a caracterelor // . Obținem șirul de la începutul până la sfârșitul caracterelor. // Obținem șirul de la / până la sfârșit. Concatenăm șirurile și noul domeniu. |
Metodele lastIndexOf(String)
și lastIndexOf(String, index)
funcționează în același mod, doar căutarea se efectuează de la sfârșitul șirului până la început.
3. Crearea subșirurilor
Pe lângă compararea șirurilor și găsirea subșirurilor, există o altă acțiune foarte populară: obținerea unui subșir dintr-un șir. După cum se întâmplă, exemplul anterior v-a arătat un substring()
apel de metodă care a returnat o parte dintr-un șir.
Iată o listă de 8 metode care returnează subșiruri din șirul curent:
Metode | Descriere |
---|---|
|
Returnează subșirul specificat de intervalul de index beginIndex..endIndex . |
|
Repetă șirul curent de n ori |
|
Returnează un șir nou: înlocuiește caracterul oldChar cu caracterulnewChar |
|
Înlocuiește primul subșir, specificat printr-o expresie regulată, din șirul curent. |
|
Înlocuiește toate subșirurile din șirul curent care se potrivesc cu expresia regulată. |
|
Convertește șirul în minuscule |
|
Convertește șirul în majuscule |
|
Elimină toate spațiile de la începutul și sfârșitul unui șir |
Iată un rezumat al metodelor disponibile:
substring(int beginIndex, int endIndex)
metodă
Metoda substring
returnează un șir nou care constă din caractere din șirul curent, începând cu caracterul cu index beginIndex
și se termină la endIndex
. Ca și în cazul tuturor intervalelor din Java, caracterul cu index endIndex
nu este inclus în interval. Exemple:
Cod | Rezultat |
---|---|
|
|
|
|
|
|
|
|
Dacă endIndex
parametrul nu este specificat (ceea ce este posibil), atunci subșirul este preluat de la caracterul de la beginIndex până la sfârșitul șirului.
repeat(int n)
metodă
Metoda de repetare repetă pur și simplu n
orificiile curente ale șirului. Exemplu:
Cod | Rezultat |
---|---|
|
|
|
|
|
|
|
|
replace(char oldChar, char newChar)
metodă
Metoda replace()
returnează un șir nou în care toate caracterele oldChar
sunt înlocuite cu caracterul newChar
. Acest lucru nu schimbă lungimea șirului. Exemplu:
Cod | Rezultat |
---|---|
|
|
|
|
|
|
|
|
replaceFirst()
si replaceAll()
metode
Metoda replaceAll()
înlocuiește toate aparițiile unui subșir cu altul. Metoda replaceFirst()
înlocuiește prima apariție a subșirului trecut cu subșirul specificat. Șirul care trebuie înlocuit este specificat printr-o expresie regulată. Vom aprofunda în expresiile regulate în misiunea Java Multithreading .
Exemple:
Cod | Rezultat |
---|---|
|
|
|
|
|
|
|
|
toLowerCase() and toUpperCase()
metode
Am ajuns să cunoaștem aceste metode când am învățat prima dată despre apelarea metodelor clasei String
.
trim()
metodă
Metoda trim()
elimină spațiile de început și de final dintr-un șir. Nu atinge spațiile care se află în interiorul unui șir (adică nu la început sau la sfârșit). Exemple:
Cod | Rezultat |
---|---|
|
|
|
|
|
|
|
|
GO TO FULL VERSION