1. Матнларни солиштириш
Солиштириш — бу матнлар билан eng keng tarqalgan narsa. String sinfida matnlarni solishtirish uchun ishlatiladigan o'n dan ortiq turli metodlar mavjud. Quyida biz yettita asosiylarini ko'rib chiqamiz.
| Методлар | Таърифи |
|---|---|
|
Matnlar teng bo'lib hisoblanadi, agar barcha belgilar mos kelsa. |
|
Matnlarni solishtiradi, harf kattaligi (raskras) e'tiborsiz qilingan |
|
Matnlarni leksikografik solishtiradi. Agar matnlar teng bo'lsa 0 qaytaradi. Joriy matn parametr matndan kichik bo'lsa, noldan kichik son. Joriy matn parametr matndan katta bo'lsa, noldan katta son qaytaradi |
|
Matnlarni leksikografik solishtiradi, registring e'tiborsiz qiladi. Agar matnlar teng bo'lsa 0 qaytaradi. Joriy matn parametr matndan kichik bo'lsa, noldan kichik son. Joriy matn parametr matndan katta bo'lsa, noldan katta son qaytaradi |
|
Matnlarning qismlarini solishtiradi |
|
Joriy matn prefix matni bilan boshlanishini tekshiradi |
|
Joriy matn suffix matni bilan tugashini tekshiradi |
Faraz qilaylik, siz foydalanuvchidan fayl manzilini kiritishni so'raydigan va faylni kengaytmasi bo'yicha tekshiradigan dastur yozmoqchisiz. Shunda bunday dastur kodi taxminan quyidagicha ko'rinishi mumkin edi:
| Код | Тушунтиришлар |
|---|---|
|
Scanner ob'ektini yaratish Konsoldan matn o'qish Matn path berilgan matnga tugashini tekshiramiz |
2. Podstralarni qidirish
Matnlarni solishtirishdan keyingi eng mashhur operatsiya bu bir matnni boshqa bir matnda qidirishidir. String sinfi uchun ham bir nechta metodlar mavjud:
| Методлар | Таърифи |
|---|---|
|
Joriy matnda str ni qidiradi. Birinchi uchragan matnning indeksini qaytaradi. |
|
Joriy matnda str ni qidiradi, birinchi index belgilarni o'tkazib yuboradi. Topilgan kirishni indeksini qaytaradi. |
|
Joriy matnda str ni oxirdan qidiring. Birinchi kirishni indeksini qaytaradi. |
|
Joriy matnda str ni oxirdan qidiring, birinchi index belgilarni o'tkazib yuboradi. |
|
Joriy matnni berilgan regex bilan mos kelishini tekshiradi. |
indexOf(String) va indexOf(String, index) metodlari ko'pincha birgalikda ishlatiladi. Birinchisi, joriy matnda berilgan podstrani birinchi kirishini topishga imkon beradi. Ikkinchisi esa, birinci index belgilarni o'tkazib yuborishi tufayli ikkinchi, uchinchi va boshqalarni topishga imkon beradi.
Masalan, bizda quyidagi kabi url bor: «https://domen.com/about/reviews», va biz domen nomini javarush.com ga o'zgartirmoqchimiz. URLdagi domenlar har xil bo'lishi mumkin, lekin bilamizki:
- Domen nomidan oldin ikki chiziq
//boradi - Domen nomidan keyin bitta slash
/boradi
Bunday dastur kodi quyidagicha bo'ladi:
| Код | Тушунтиришлар |
|---|---|
|
Scanner ob'ektini yaratish Konsoldan matn o'qish // matnni birinchi kirish indeksini olish/ matnni birinchi kirish indeksini olish, faqat // belgilaridan keyin izlash.// belgilaridan boshlab va ushbu belgilar bilan tugaydigan matnni olish/ dan oxirigacha bo'lgan matnni olish.Matnlarni birlashtirish va yangi domen. |
lastIndexOf(String) va lastIndexOf(String, index) metodlari ham xuddi shunday ishlaydi, faqat matnni oxiridan boshiga qidiradi.
3. Podstralar yaratish
Matnlarni solishtirish va podstralarni qidirish bilan bir qatorda, yana bir mashhur ortiqcha harakat bu - matndan podstrani olish. Oldingi misolda, siz substring() metodining chaqirilishini ko'rdingiz, bu esa matnni bir qismini qaytardi.
Joriy matndan podstralarni olish uchun mavjud 8 metod ro'yxati:
| Методлар | Таърифи |
|---|---|
|
Matndan beginIndex..endIndex belgilar intervaliga kiritilgan qismni qaytaradi. |
|
Joriy matnni count marta takrorlaydi |
|
Yangi matnni qaytaradi: oldChar belgini newChar belgiga almashtiradi |
|
Joriy matnda regex bilan berilgan birinchi kirishni almashtiradi. |
|
Joriy matnda regex bilan mos keladigan barcha kirishlarni almashtiradi. |
|
Matnni kichik harflarga o'zgartiradi |
|
Matnni katta harflarga o'zgartiradi |
|
Matndan boshlanishi va oxiridagi ortiqcha bo'sh joylarni olib tashlaydi |
Mana amaldagi metodlarning qisqacha tavsifi:
Метод substring(int beginIndex, int endIndex)
substring metodi joriy matndan beginIndex belgidan boshlab va endIndex belgisigacha bo'lgan belgilarni o'z ichiga olgan yangi matn qaytaradi. Java'dagi barcha intervallar kabi, endIndex raqamli belgisi intervalga kiritilmaydi. Misollar:
| Код | Натижа |
|---|---|
|
|
|
|
|
|
|
|
Agar endIndex parametri ko'rsatilmagan bo'lsa (va bu mumkin), podstr joriy matndan beginIndex belgisi bilan boshlanadi va matn oxirigacha oladi.
Метод repeat(int n)
Repeat metodi faqat hozirgi matnni n marta takrorlaydi. Misol:
| Код | Натижа |
|---|---|
|
|
|
|
|
|
|
|
Метод replace(char oldChar, char newChar)
replace() metodi joriy matndan oldChar simvolni newChar simvolga almashtiradigan yangi matnni qaytaradi. Bu jarayonda matn uzunligi o'zgarmaydi. Misol:
| Код | Натижа |
|---|---|
|
|
|
|
|
|
|
|
Методлы replaceFirst() ва replaceAll()
replaceAll() metodi birinchi podstr kirishini boshqa podstrga almashtiradi. replaceFirst() metodi esa berilgan podstr kirishini birinchi kirishiga almashtiradi. Qayta almashtiriladigan matn regexp bilan beriladi. Рegular expressions mavzusini Java Multithreading квестында кўриб чикамиз.
Misollar:
| Код | Натижа |
|---|---|
|
|
|
|
|
|
|
|
Методлы toLowerCase() ва toUpperCase()
Bu metodlar bilan tanishgan edik, birinchi marta String sinfining metodlarini chaqirishni o'rganganimizda.
Метод trim()
trim() metodi matndan boshlanishi va oxirida ortiqcha bo'sh joylarni olib tashlaydi. Matn ichidagi bo'sh joylarga tegilmaydi. Misollar:
| Код | Натижа |
|---|---|
|
|
|
|
|
|
|
|
GO TO FULL VERSION