Rumah  >  Artikel  >  Java  >  Ganti() Fungsi dalam Java

Ganti() Fungsi dalam Java

WBOY
WBOYasal
2024-08-30 15:35:44842semak imbas

Fungsi replace() dalam Java digunakan untuk mengalih keluar jujukan huruf atau aksara tertentu dan meletakkan jujukan huruf atau aksara lain di tempatnya. Selepas pengenalan JDK 1.5, fungsi "replace()" ini diperkenalkan. Sebelum fungsi ini, logik teras boleh ditulis untuk memudahkan fungsi ini dengan merangkum logik kod dalam fungsi yang dinamakan replace(). Fungsi ini mengurangkan kerja pengekod kerana mereka boleh terus menggunakan fungsi ini untuk mengambil dua parameter input dan mengembalikan rentetan diubah suai pengguna baharu. Ini boleh digunakan mengikut keperluan perniagaan.

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

Sintaks dengan Parameter

Terdapat beberapa varian lain bagi fungsi ganti juga, seperti "replaceAll()", "replaceFirst()", yang menggunakan ungkapan biasa untuk memanipulasi rentetan.

Sintaks:

public String replace(char oldcharacter, char newcharacter)

Di sini fungsi ini mempunyai pengubah suai akses "awam", membenarkan ia digunakan oleh fungsi lain juga. Jenis rentetan yang ditetapkan bahawa fungsi ini akan mempunyai jenis pengembalian "rentetan". Parameter input diluluskan dalam bentuk pembolehubah dua aksara bernama "watak lama" dan "watak baharu". Pembolehubah ini akan digunakan untuk mengimbas aksara yang akan diganti, dan kemudian logik dalam fungsi akan berfungsi untuk menggantikan aksara ini dengan yang baharu yang diperoleh daripada pembolehubah "watak baharu".

Parameter:

  • watak lama: Ini watak lama yang perlu diganti.
  • watak baharu: Ini ialah watak baharu yang ditetapkan bukannya watak sebelumnya.

Nilai Pulangan: Fungsi ini mengembalikan rentetan dengan aksara lama digantikan dengan yang baharu.

Bagaimanakah Fungsi Replace() Berfungsi dalam Java?

Logik kod dalaman bagi fungsi ganti () diberikan di bawah dengan penjelasan.

Nota: Ini bukan kod berjalan. Ia adalah logik kod yang menggantikan fungsi berfungsi.

Di sini fungsi yang dinamakan "fungsi ganti" sebenarnya adalah fungsi "ganti" dalam Java. Fungsi ini akan berfungsi hanya apabila aksara yang akan diganti berbeza daripada aksara yang sepatutnya diletakkan dalam nilai yang diganti. Dalam kes dalam rentetan "abcdecd", "d' hendaklah digantikan dengan "d" itu sendiri; dalam kes itu, rentetan yang sama akan dikeluarkan daripada memasuki logik yang tidak perlu bagi fungsi ini. Sebaik sahaja kawalan memasuki fungsi, semua semakan yang diperlukan dilakukan untuk menentukan nilai yang perlu diubah.

Pembolehubah "watak lama" dan "watak baharu" digunakan untuk mendapatkan parameter input untuk fungsi ini. Pembolehubah ini kemudiannya digunakan dalam fungsi selanjutnya sambil menggantikan nilai. Pembolehubah "characterlen" digunakan untuk menyimpan panjang rentetan aksara yang nilainya harus diimbas keluar dan ditukar. Tatasusunan char "valtobereplaced" digunakan untuk menyimpan nilai yang memerlukan perubahan. Tatasusunan ini diisytiharkan sekiranya berbilang aksara bagi jujukan aksara perlu ditukar. Array berfungsi untuk menyimpan berbilang aksara pada satu masa. Tatasusunan aksara baharu "penampan" digunakan untuk menyimpan rentetan yang diubah suai, yang dibuat selepas menggantikan aksara lama dengan yang baharu. Rentetan ini kemudiannya dikembalikan sebagai output daripada fungsi ini.

Kod:

public String replacefunction(char oldcharacter, char newcharater) {
if (oldcharacter != newcharater) {
int characterlen = value.length;
int k = -1;
char[] valtobereplcaed = value;
while (++k < characterlen) {
if (valtobereplcaed[k] == oldcharacter) {
break;
}
}
if (k < characterlen) {
char buffer[] = new char[characterlen];
for (int j = 0; j < k; j++) {
buffer[j] = valtobereplcaed[j];
}

Di bawah ialah logik teras untuk menggantikan watak tertentu dengan yang baharu. Di sini, semasa gelung ditetapkan, kita perlu mengekalkan kawalan dalam gelung ini sehingga kita tidak sampai ke penghujung rentetan. Di sini pembolehubah yang akan diganti, yang dibawa ke hadapan dari mula, diletakkan dalam pembolehubah aksara "c". Pernyataan bersyarat diletakkan kemudian di mana jika aksara "c" dipadankan dengan pembolehubah "watak lama", maka nilai "c" harus ditukar dengan "watak baharu"; jika tidak, “, c” hendaklah dikekalkan sebagaimana adanya.

Kod:

while (k < characterlen) {
char c = valtobereplcaed[k];
buffer[k] = (c == oldcharacter) ? newcharater : c;
k++;
}
return new String(buffer, true);
}
}

Contoh Fungsi Replace() dalam Java

Contoh di bawah menunjukkan kerja fungsi ganti dalam bahasa JAVA. Ia telah mendapat dua parameter sebagai input dan mengembalikan rentetan yang diubah selepas menggantikan aksara yang disasarkan atau urutan aksara daripada rentetan input.

Kod:

public class test {
public static void main(String args[]) {
// In the below line a new string Str_new is being created. For this to implement a new string object is being introduced.
String Str_new = new String("dEmonsRating the functionality of REplacE function");
// Below code explains the use of replace function. This function returns a string as a return value.
// This returned value is being captured in print statement.
System.out.print("This is string after replacing all Rs with Ks : " );
System.out.println(Str_new.replace('R', 'K'));
// The below line will work the same as previous code line only with small changes made with input parametrs provided to this function.
System.out.print("This is string after replacing all E with U : " );
System.out.println(Str_new.replace('E', 'U'));
}
}

Output:

Ganti() Fungsi dalam Java

Kesimpulan

Oleh itu fungsi replace() sangat berguna apabila kita memerlukan cara yang bersih untuk menggantikan apa-apa daripada yang lain dalam rentetan. Ia digunakan secara meluas dalam bahasa pengaturcaraan JAVA untuk tujuan manipulasi rentetan semasa pembinaan logik.

Atas ialah kandungan terperinci Ganti() Fungsi dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:split() Fungsi dalam JavaArtikel seterusnya:split() Fungsi dalam Java