1. Sətirlərin müqayisəsi
Müqayisə — sətirlərlə ən çox edilən şeylərdən biridir. String sinfinin sətirləri müqayisə etmək üçün istifadə olunan ondan çox müxtəlif metodu var. Aşağıda yeddi əsas metodu nəzərdən keçirəcəyik.
Metodlar | Təsvir |
---|---|
|
Sətirlər yalnız bütün simvolları üst-üstə düşərsə bərabər sayılır. |
|
Sətirləri hərflərin ölçüsünü (case) nəzərə almadan müqayisə edir. |
|
Sətirləri leksikoqrafik olaraq müqayisə edir. Əgər sətirlər bərabərdirsə 0 qaytarır. Əgər cari sətir parametr sətirindən kiçikdirsə sıfırdan az olan bir rəqəm qaytarır. Əgər cari sətir parametr sətirindən böyükdürsə sıfırdan böyük olan bir rəqəm qaytarır. |
|
Sətirləri leksikoqrafik olaraq müqayisə edir, case-i nəzərə almır. Əgər sətirlər bərabərdirsə 0 qaytarır. Əgər cari sətir parametr sətirindən kiçikdirsə sıfırdan az olan bir rəqəm qaytarır. Əgər cari sətir parametr sətirindən böyükdürsə sıfırdan böyük olan bir rəqəm qaytarır. |
|
Sətirlərin hissələrini müqayisə edir. |
|
Cari sətirin prefix sətiri ilə başlayıb-başlamadığını yoxlayır. |
|
Cari sətirin suffix sətiri ilə bitib-bitmədiyini yoxlayır. |
Təsəvvür edin ki, istifadəçidən bir fayl yolunu daxil etməsini istəyən və uzantısına əsasən faylın nə olduğunu yoxlayan bir proqram yazmaq istəyirsiniz. Onda belə bir proqramın kodu təxminən belə görünə bilər:
Kod | Qeydlər |
---|---|
|
Scanner obyektinin yaradılmasıKonsoldan sətir oxumaq path sətirinin müəyyən sətirlə bitib-bitmədiyini yoxlayırıq |
2. Alt sətirlərin axtarışı
Sətirlərin müqayisəsindən sonra ən populyar əməliyyat – bir sətiri digərində axtarmaqdır. Bunun üçün String sinifinin bir neçə metodu var:
Metodlar | Təsvir |
---|---|
|
Verilmiş str sətirini cari sətirdə tapır. Tapılmış sətirin ilk simvolunun indeksini qaytarır. |
|
Verilmiş str sətirini cari sətirdə tapır, amma əvvəlindən index qədər simvolu keçir. Tapılmış girişin indeksini qaytarır. |
|
Verilmiş str sətirini cari sətirdə sondan axtarır. İlk girişin indeksini qaytarır. |
|
Verilmiş str sətirini cari sətirdə sondan axtarır, amma əvvəlindən index qədər simvolu keçir. |
|
Cari sətirin verilmiş regular ifadə şablonuna uyğun olub-olmadığını yoxlayır. |
indexOf(String)
və indexOf(String, index)
metodları tez-tez birlikdə istifadə olunur. Birinci metod verilmiş sətirin cari sətirdə ilk girişini tapmağa imkan verir. İkinci metod isə ilk index
simvolları keçərək ikinci, üçüncü və sair girişləri tapmağa imkan verir.
Məsələn, bizdə «https://domen.com/about/reviews» tipli bir url var və biz domen adını codegym.com olaraq dəyişmək istəyirik. URL-lərdə domenlər müxtəlif ola bilər, amma biz bilirik ki:
- Domen adından əvvəl iki slash
//
gəlir - Domen adından sonra isə tək slash
/
gəlir
Belə bir proqramın kodu belə görünərdi:
Kod | Qeydlər |
---|---|
|
Scanner obyektinin yaradılması Konsoldan sətirin oxunması // sətirinin ilk girişinin indeksini əldə edirik/ sətirinin ilk girişinin indeksini əldə edirik, amma axtarışı yalnız // simvollarından sonra aparırıq.// simvollara qədər başlayaraq sətiri əldə edirik/ simvollardan başlayaraq sonuna kimi sətiri əldə edirik.Sətirləri və yeni domeni birləşdiririk. |
lastIndexOf(String)
və lastIndexOf(String, index)
metodları da eyni qaydada işləyir, sadəcə axtarış sətirin sonundan başlanır.
3. Alt sətir yaratmaq
Sətirlərin müqayisəsi və alt sətirlərin axtarışı ilə yanaşı, başqa bir çox məşhur əməliyyat – sətirdən alt sətir əldə etməkdir. Əvvəlki nümunədə substring()
metodunun çağırıldığını görmüşdünüz ki, bu metod sətirin bir hissəsini qaytarır.
Bura hazırki sətirdən alt sətirlər əldə etmək üçün istifadə edilən 8 metodun siyahısıdır:
Metodlar | Açıqlama |
---|---|
|
Başlanğıc və son simvol aralığı ilə müəyyən edilmiş alt sətiri qaytarır beginIndex..endIndex . |
|
Cari sətiri count dəfə təkrarlayır |
|
Yeni bir sətir qaytarır: oldChar simvolunu newChar simvolu ilə əvəz edir |
|
Mövcud sətirdə müntəzəm ifadə ilə müəyyən edilmiş alt sətiri əvəz edir. |
|
Mövcud sətirdə müntəzəm ifadə ilə uyğun gələn bütün alt sətirləri əvəz edir. |
|
Sətiri kiçik hərflərə çevirir |
|
Sətiri böyük hərflərə çevirir |
|
Sətirin əvvəlində və sonunda olan boşluqları silir |
Mövcud metodların qısa təsviri:
Metod substring(int beginIndex, int endIndex)
substring
metodu cari sətirdən yeni bir sətir qaytarır; bu sətir beginIndex
nömrəli simvoldan başlayır və endIndex
nömrəli simvolla bitir. Java-da bütün aralıqlarda olduğu kimi, endIndex
nömrəli simvol aralığa daxil edilmir. Nümunələr:
Kod | Nəticə |
---|---|
|
|
|
|
|
|
|
|
Əgər endIndex
parametri göstərilməyibsə (bu mümkündür), alt sətir beginIndex simvolundan başlayaraq sətirin sonuna qədər götürülür.
Metod repeat(int n)
Repeat metodu sadəcə cari sətiri n
dəfə təkrarlayır. Nümunə:
Kod | Nəticə |
---|---|
|
|
|
|
|
|
|
|
Metod replace(char oldChar, char newChar)
replace()
metodu yeni bir sətir qaytarır ki, burada bütün oldChar
simvolları newChar
ilə əvəz olunur. Sətirin uzunluğu dəyişmir. Nümunələr:
Kod | Nəticə |
---|---|
|
|
|
|
|
|
|
|
Metodlar replaceFirst()
və replaceAll()
replaceAll()
metodu bir alt sətiri digəri ilə əvəz edir. replaceFirst()
isə yalnız ilk tapılmış alt sətiri əvəz edir. Əvəz ediləcək sətir müntəzəm ifadə ilə təyin olunur. Regular expressions mövzusuna Java Multithreading kvestində toxunacağıq.
Nümunələr:
Kod | Nəticə |
---|---|
|
|
|
|
|
|
|
|
Metodlar toLowerCase() və toUpperCase()
Bu metodlarla biz ilk dəfə String sinfi metodlarını öyrənərkən tanış olmuşuq.
Metod trim()
trim()
metodu sətirin əvvəli və sonundakı boşluqları silir. Sətirin içindəki boşluqlara toxunulmur. Nümunələr:
Kod | Nəticə |
---|---|
|
|
|
|
|
|
|
|
GO TO FULL VERSION