1. Membandingkan rentetan
Salah satu operasi yang paling biasa dengan rentetan ialah perbandingan. Kelas String mempunyai lebih sepuluh kaedah berbeza yang digunakan untuk membandingkan satu rentetan dengan rentetan lain. Di bawah ini kita akan melihat tujuh daripada yang utama.
Kaedah | Penerangan |
---|---|
|
Rentetan dianggap sama jika semua aksaranya sepadan. |
|
Membandingkan rentetan, mengabaikan huruf besar (abaikan sama ada huruf besar atau huruf kecil) |
|
Membandingkan rentetan secara leksikografi. Mengembalikan 0 jika rentetan adalah sama. Nilai pulangan adalah kurang daripada sifar jika rentetan semasa kurang daripada parameter rentetan. Nilai pulangan adalah lebih besar daripada jika rentetan semasa lebih besar daripada parameter rentetan. |
|
Membandingkan rentetan secara leksikografi sambil mengabaikan huruf besar. Mengembalikan 0 jika rentetan adalah sama. Nilai pulangan adalah negatif jika rentetan semasa kurang daripada parameter rentetan. Nilai pulangan adalah lebih besar daripada jika rentetan semasa lebih besar daripada parameter rentetan. |
|
Membandingkan bahagian rentetan |
|
Menyemak sama ada rentetan semasa bermula dengan rentetanprefix |
|
Menyemak sama ada rentetan semasa berakhir dengan rentetansuffix |
Katakan anda ingin menulis atur cara yang meminta pengguna untuk laluan ke fail dan kemudian menyemak jenis fail berdasarkan sambungannya. Kod program sedemikian mungkin kelihatan seperti ini:
Kod | Nota |
---|---|
|
Cipta Scanner objek Baca baris daripada konsol Semak sama ada rentetan path berakhir dengan rentetan yang diberikan |
2. Mencari subrentetan
Selepas membandingkan rentetan, operasi kedua paling popular ialah mencari satu rentetan di dalam rentetan yang lain. Kelas String juga mempunyai beberapa kaedah untuk ini:
Kaedah | Penerangan |
---|---|
|
Mencari rentetan str dalam rentetan semasa. Mengembalikan indeks aksara pertama kejadian pertama. |
|
Mencari rentetan str dalam rentetan semasa, melangkau index aksara pertama. Mengembalikan indeks kejadian. |
|
Mencari rentetan str dalam rentetan semasa, bermula dari penghujung. Mengembalikan indeks kejadian pertama. |
|
Mencari rentetan str dalam rentetan semasa dari hujung, melangkau index aksara pertama. |
|
Menyemak sama ada rentetan semasa sepadan dengan corak yang ditentukan oleh ungkapan biasa. |
Kaedah indexOf(String)
dan indexOf(String, index)
sering digunakan dalam kombinasi. Kaedah pertama membolehkan anda mencari kejadian pertama subrentetan yang diluluskan dalam rentetan semasa. Dan kaedah kedua membolehkan anda mencari kejadian kedua, ketiga, dsb. dengan melangkau aksara indeks pertama.
Katakan kami mempunyai url seperti " https://domain.com/about/reviews " dan kami mahu menggantikan nama domain dengan " codegym.cc ". Url boleh mempunyai semua jenis nama domain yang berbeza, tetapi kami mengetahui perkara berikut:
- Nama domain didahului oleh dua garis miring ke hadapan — "
//
" - Nama domain diikuti dengan satu garis miring ke hadapan — "
/
"
Inilah rupa kod untuk program sedemikian:
Kod | Nota |
---|---|
|
Cipta objek Pengimbas Baca baris daripada konsol Dapatkan indeks kejadian pertama rentetan " // " Kami mendapat indeks kejadian pertama rentetan / , tetapi hanya melihat selepas kejadian aksara // . Kami mendapat rentetan dari awal hingga akhir aksara // Kami mendapat rentetan dari / hingga akhir. Kami menggabungkan rentetan dan domain baharu. |
Kaedah lastIndexOf(String)
dan lastIndexOf(String, index)
berfungsi dengan cara yang sama, hanya carian dilakukan dari hujung rentetan hingga permulaan.
3. Mencipta subrentetan
Selain membandingkan rentetan dan mencari subrentetan, terdapat satu lagi tindakan yang sangat popular: mendapatkan subrentetan daripada rentetan. Seperti yang berlaku, contoh sebelumnya menunjukkan kepada anda substring()
panggilan kaedah yang mengembalikan sebahagian daripada rentetan.
Berikut ialah senarai 8 kaedah yang mengembalikan subrentetan daripada rentetan semasa:
Kaedah | Penerangan |
---|---|
|
Mengembalikan subrentetan yang ditentukan oleh julat indeks beginIndex..endIndex . |
|
Mengulang rentetan semasa n kali |
|
Mengembalikan rentetan baharu: menggantikan watak oldChar dengan wataknewChar |
|
Menggantikan subrentetan pertama, yang ditentukan oleh ungkapan biasa, dalam rentetan semasa. |
|
Menggantikan semua subrentetan dalam rentetan semasa yang sepadan dengan ungkapan biasa. |
|
Menukar rentetan kepada huruf kecil |
|
Menukar rentetan kepada huruf besar |
|
Mengalih keluar semua ruang pada permulaan dan penghujung rentetan |
Berikut adalah ringkasan kaedah yang tersedia:
substring(int beginIndex, int endIndex)
kaedah
Kaedah ini substring
mengembalikan rentetan baharu yang terdiri daripada aksara dalam rentetan semasa, bermula pada aksara dengan indeks beginIndex
dan berakhir pada endIndex
. Seperti semua selang dalam Java, aksara dengan indeks endIndex
tidak termasuk dalam selang. Contoh:
Kod | Hasilnya |
---|---|
|
|
|
|
|
|
|
|
Jika endIndex
parameter tidak ditentukan (yang mungkin), maka subrentetan diambil daripada aksara pada beginIndex hingga ke penghujung rentetan.
repeat(int n)
kaedah
Kaedah ulangan hanya mengulangi n
masa rentetan semasa. Contoh:
Kod | Hasilnya |
---|---|
|
|
|
|
|
|
|
|
replace(char oldChar, char newChar)
kaedah
Kaedah ini replace()
mengembalikan rentetan baharu di mana semua aksara oldChar
digantikan dengan aksara newChar
. Ini tidak mengubah panjang rentetan. Contoh:
Kod | Hasilnya |
---|---|
|
|
|
|
|
|
|
|
replaceFirst()
dan replaceAll()
kaedah
Kaedah ini replaceAll()
menggantikan semua kejadian satu subrentetan dengan yang lain. Kaedah replaceFirst()
menggantikan kejadian pertama subrentetan yang diluluskan dengan subrentetan yang ditentukan. Rentetan yang akan diganti ditentukan oleh ungkapan biasa. Kami akan menyelidiki ungkapan biasa dalam pencarian Java Multithreading .
Contoh:
Kod | Hasilnya |
---|---|
|
|
|
|
|
|
|
|
toLowerCase() and toUpperCase()
kaedah
Kami mengenali kaedah ini apabila kami mula-mula belajar tentang memanggil kaedah kelas String
.
trim()
kaedah
Kaedah ini trim()
mengalih keluar ruang hadapan dan belakang daripada rentetan. Tidak menyentuh ruang yang berada di dalam rentetan (iaitu bukan pada permulaan atau akhir). Contoh:
Kod | Hasilnya |
---|---|
|
|
|
|
|
|
|
|
GO TO FULL VERSION