Pada artikel ini, kita akan membahas berbagai cara untuk mengganti kemunculan pertama substring dari string dengan Python
Misalkan kita memiliki string,
"This is the last rain of Season and Jack is here."
Dalam string ini, substring “is” muncul di 3 tempat berbeda. Tapi kami hanya ingin mengganti kemunculan pertama dari substring "adalah" dengan "XX". Setelah penggantian, string terakhir harus seperti,
"ThXX is the last rain of Season and Jack is here."
_
Ada berbagai cara untuk mengganti hanya kejadian pertama dari substring dalam string. Mari kita bahas satu per satu
Menggunakan fungsi replace()
Di Python, kelas string menyediakan fungsi replace() untuk mengubah konten string. Sintaksnya adalah sebagai berikut,
Iklan
replace(substring, replacement, count)
Parameter
- substring. Substring yang perlu diganti dalam string
- penggantian. Tali pengganti. Dengan mana substring akan diganti
- menghitung. Jumlah maksimum kekerapan yang akan diganti
Ini menggantikan hitungan jumlah kemunculan substring yang diberikan dengan string pengganti. Sebuah string tidak dapat diubah dalam Python, oleh karena itu fungsi replace() mengembalikan salinan string dengan konten yang dimodifikasi
Baca selengkapnya
- Ganti kata dalam string menggunakan kamus dengan Python
- Hapus spasi duplikat dari string dengan Python
- Ganti karakter N Terakhir dari string dengan Python
- Piton. while loop – Dijelaskan dengan contoh
Untuk mengganti hanya kemunculan pertama "adalah" dengan "XX", berikan nilai hitung sebagai 1
Misalnya
strValue = "This is the last rain of Season and Jack is here."
# Replace first occurrence of substring 'is' with 'XX' in the string
strValue = strValue.replace('is', 'XX', 1)
print(strValue)
Keluaran
ThXX is the last rain of Season and Jack is here.
_
Itu menggantikan kemunculan pertama "adalah" dengan "XX" dalam string
Menggunakan Regex
Modul regex di Python menyediakan fungsi sub() untuk mengganti konten string berdasarkan pola regex yang cocok. Tanda tangan fungsinya seperti ini,
sub(pattern, replacement_str, original_str, count=N)
Itu mencari kecocokan dari pola regex yang diberikan di sting original_str dan menggantikan N kemunculan substring yang cocok dengan string pengganti i. e. replacement_str
Kita dapat menggunakan ini untuk mengganti hanya kemunculan pertama "adalah" dengan "XX". Untuk itu kita perlu melewatkan parameter hitungan sebagai 1
Misalnya
import re
strValue = "This is the last rain of season and Jack is here."
# Replace first occurrence of substring 'is' with 'XX' in the string
strValue = re.sub('is', 'XX', strValue, count=1 )
print(strValue)
_
Keluaran
ThXX is the last rain of Season and Jack is here.
Itu menggantikan kemunculan pertama "adalah" dengan "XX" dalam string
Ringkasan
Kami belajar tentang dua cara berbeda untuk mengganti kemunculan substring pertama ini dalam string dengan Python
Dalam postingan ini, Anda akan mempelajari cara mengganti semua kemunculan string dalam JavaScript dengan memisahkan dan menggabungkan string, string.replace()
digabungkan dengan ekspresi reguler global, dan
javascript
const resultingString = pieces.join(replace);
0
Daftar isi
1. Memisahkan dan menggabungkan array
Jika Anda mencari di Google cara "mengganti semua kemunculan string dalam JavaScript", pendekatan pertama yang mungkin Anda temukan adalah menggunakan larik perantara
Begini cara kerjanya
- Pisahkan
javascript
const resultingString = pieces.join(replace);
_1 menjadi javascript
const resultingString = pieces.join(replace);
2 dengan string javascript
const resultingString = pieces.join(replace);
3
javascript
const pieces = string.split(search);
- Kemudian gabungkan potongan-potongan itu dengan menempatkan string
javascript
const resultingString = pieces.join(replace);
_4 di antaranya
javascript
const resultingString = pieces.join(replace);
_
Misalnya, mari ganti semua spasi
javascript
const resultingString = pieces.join(replace);
_5 dengan tanda hubung
javascript
const resultingString = pieces.join(replace);
6 dalam string
javascript
const resultingString = pieces.join(replace);
7
javascript
const search = ' ';
const replaceWith = '-';
const result = 'duck duck go'.split(search).join(replaceWith);
console.log(result); // => 'duck-duck-go'
Coba demonya
javascript
const resultingString = pieces.join(replace);
_8 membagi string menjadi beberapa bagian.
javascript
const resultingString = pieces.join(replace);
_9
Kemudian potongan
javascript
const search = ' ';
const replaceWith = '-';
const result = 'duck duck go'.split(search).join(replaceWith);
console.log(result); // => 'duck-duck-go'
_0 digabungkan dengan memasukkan
javascript
const resultingString = pieces.join(replace);
6 di antaranya, yang menghasilkan string
javascript
const search = ' ';
const replaceWith = '-';
const result = 'duck duck go'.split(search).join(replaceWith);
console.log(result); // => 'duck-duck-go'
2
Berikut adalah fungsi pembantu umum yang menggunakan pendekatan pemisahan dan penggabungan
javascript
function replaceAll(string, search, replace) {
return string.split(search).join(replace);
}
console.log(replaceAll('abba', 'a', 'i')); // => 'ibbi'
console.log(replaceAll('go go go!', 'go', 'move')); // => 'move move move!'
console.log(replaceAll('oops', 'z', 'y')); // => 'oops'
Coba demonya
Pendekatan ini membutuhkan pengubahan string menjadi array, dan kemudian kembali menjadi string. Mari terus mencari alternatif yang lebih baik
2. replace() dengan ekspresi reguler global
Metode string
javascript
const search = ' ';
const replaceWith = '-';
const result = 'duck duck go'.split(search).join(replaceWith);
console.log(result); // => 'duck-duck-go'
3 mencari dan mengganti kemunculan ekspresi reguler
javascript
const search = ' ';
const replaceWith = '-';
const result = 'duck duck go'.split(search).join(replaceWith);
console.log(result); // => 'duck-duck-go'
4 dengan
javascript
const search = ' ';
const replaceWith = '-';
const result = 'duck duck go'.split(search).join(replaceWith);
console.log(result); // => 'duck-duck-go'
5 string
Untuk membuat metode
javascript
const search = ' ';
const replaceWith = '-';
const result = 'duck duck go'.split(search).join(replaceWith);
console.log(result); // => 'duck-duck-go'
_6 ganti semua kemunculan pola - Anda harus mengaktifkan bendera global pada ekspresi reguler
- Tambahkan
javascript
const search = ' ';
const replaceWith = '-';
const result = 'duck duck go'.split(search).join(replaceWith);
console.log(result); // => 'duck-duck-go'
_7 ke akhir literal ekspresi reguler. javascript
const search = ' ';
const replaceWith = '-';
const result = 'duck duck go'.split(search).join(replaceWith);
console.log(result); // => 'duck-duck-go'
_8 - Atau saat menggunakan konstruktor ekspresi reguler, tambahkan
javascript
const search = ' ';
const replaceWith = '-';
const result = 'duck duck go'.split(search).join(replaceWith);
console.log(result); // => 'duck-duck-go'
9 ke argumen kedua. javascript
function replaceAll(string, search, replace) {
return string.split(search).join(replace);
}
console.log(replaceAll('abba', 'a', 'i')); // => 'ibbi'
console.log(replaceAll('go go go!', 'go', 'move')); // => 'move move move!'
console.log(replaceAll('oops', 'z', 'y')); // => 'oops'
0
Mari ganti semua kemunculan
javascript
const resultingString = pieces.join(replace);
_5 dengan
javascript
const resultingString = pieces.join(replace);
6
javascript
const searchRegExp = /\s/g;
const replaceWith = '-';
const result = 'duck duck go'.replace(searchRegExp, replaceWith);
console.log(result); // => 'duck-duck-go'
Coba demonya
Ekspresi reguler literal
javascript
function replaceAll(string, search, replace) {
return string.split(search).join(replace);
}
console.log(replaceAll('abba', 'a', 'i')); // => 'ibbi'
console.log(replaceAll('go go go!', 'go', 'move')); // => 'move move move!'
console.log(replaceAll('oops', 'z', 'y')); // => 'oops'
3 (perhatikan bendera global
javascript
const search = ' ';
const replaceWith = '-';
const result = 'duck duck go'.split(search).join(replaceWith);
console.log(result); // => 'duck-duck-go'
7) cocok dengan spasi
javascript
const resultingString = pieces.join(replace);
5
javascript
function replaceAll(string, search, replace) {
return string.split(search).join(replace);
}
console.log(replaceAll('abba', 'a', 'i')); // => 'ibbi'
console.log(replaceAll('go go go!', 'go', 'move')); // => 'move move move!'
console.log(replaceAll('oops', 'z', 'y')); // => 'oops'
6 mengganti semua kecocokan
javascript
function replaceAll(string, search, replace) {
return string.split(search).join(replace);
}
console.log(replaceAll('abba', 'a', 'i')); // => 'ibbi'
console.log(replaceAll('go go go!', 'go', 'move')); // => 'move move move!'
console.log(replaceAll('oops', 'z', 'y')); // => 'oops'
3 dengan
javascript
const resultingString = pieces.join(replace);
6, yang menghasilkan
javascript
const search = ' ';
const replaceWith = '-';
const result = 'duck duck go'.split(search).join(replaceWith);
console.log(result); // => 'duck-duck-go'
2
Anda dapat dengan mudah membuat penggantian yang tidak peka huruf besar/kecil dengan menambahkan bendera
javascript
const searchRegExp = /\s/g;
const replaceWith = '-';
const result = 'duck duck go'.replace(searchRegExp, replaceWith);
console.log(result); // => 'duck-duck-go'
0 ke ekspresi reguler
javascript
const searchRegExp = /duck/gi;
const replaceWith = 'goose';
const result = 'DUCK Duck go'.replace(searchRegExp, replaceWith);
result; // => 'goose goose go'
Ekspresi reguler
javascript
const searchRegExp = /\s/g;
const replaceWith = '-';
const result = 'duck duck go'.replace(searchRegExp, replaceWith);
console.log(result); // => 'duck-duck-go'
_1 melakukan pencarian global case-insensitive (perhatikan
javascript
const searchRegExp = /\s/g;
const replaceWith = '-';
const result = 'duck duck go'.replace(searchRegExp, replaceWith);
console.log(result); // => 'duck-duck-go'
0 dan
javascript
const search = ' ';
const replaceWith = '-';
const result = 'duck duck go'.split(search).join(replaceWith);
console.log(result); // => 'duck-duck-go'
7 bendera).
javascript
const searchRegExp = /\s/g;
const replaceWith = '-';
const result = 'duck duck go'.replace(searchRegExp, replaceWith);
console.log(result); // => 'duck-duck-go'
_1 cocok dengan
javascript
const searchRegExp = /\s/g;
const replaceWith = '-';
const result = 'duck duck go'.replace(searchRegExp, replaceWith);
console.log(result); // => 'duck-duck-go'
5, serta
javascript
const searchRegExp = /\s/g;
const replaceWith = '-';
const result = 'duck duck go'.replace(searchRegExp, replaceWith);
console.log(result); // => 'duck-duck-go'
6
Memanggil
javascript
const searchRegExp = /\s/g;
const replaceWith = '-';
const result = 'duck duck go'.replace(searchRegExp, replaceWith);
console.log(result); // => 'duck-duck-go'
7 mengganti semua kecocokan
javascript
const searchRegExp = /\s/g;
const replaceWith = '-';
const result = 'duck duck go'.replace(searchRegExp, replaceWith);
console.log(result); // => 'duck-duck-go'
1 substring dengan
javascript
const searchRegExp = /\s/g;
const replaceWith = '-';
const result = 'duck duck go'.replace(searchRegExp, replaceWith);
console.log(result); // => 'duck-duck-go'
9
2. 1 Ekspresi reguler dari sebuah string
Saat ekspresi reguler dibuat dari string, Anda harus menghindari karakter
javascript
const searchRegExp = /duck/gi;
const replaceWith = 'goose';
const result = 'DUCK Duck go'.replace(searchRegExp, replaceWith);
result; // => 'goose goose go'
0 karena mereka memiliki arti khusus dalam ekspresi reguler
Karena itu, karakter khusus menjadi masalah ketika Anda ingin mengganti semua operasi. Ini sebuah contoh
javascript
const search = '+';
const searchRegExp = new RegExp(search, 'g'); // Throws SyntaxError
const replaceWith = '-';
const result = '5+2+1'.replace(searchRegExp, replaceWith);
Coba demonya
Cuplikan di atas mencoba mengubah string pencarian
javascript
const searchRegExp = /duck/gi;
const replaceWith = 'goose';
const result = 'DUCK Duck go'.replace(searchRegExp, replaceWith);
result; // => 'goose goose go'
1 menjadi ekspresi reguler. Tapi
javascript
const searchRegExp = /duck/gi;
const replaceWith = 'goose';
const result = 'DUCK Duck go'.replace(searchRegExp, replaceWith);
result; // => 'goose goose go'
_1 adalah ekspresi reguler yang tidak valid, sehingga
javascript
const searchRegExp = /duck/gi;
const replaceWith = 'goose';
const result = 'DUCK Duck go'.replace(searchRegExp, replaceWith);
result; // => 'goose goose go'
3 dilemparkan
Melarikan diri dari karakter
javascript
const searchRegExp = /duck/gi;
const replaceWith = 'goose';
const result = 'DUCK Duck go'.replace(searchRegExp, replaceWith);
result; // => 'goose goose go'
_4 memecahkan masalah. Coba demo tetap
2. 2 ganti() dengan string
Jika argumen pertama
javascript
const resultingString = pieces.join(replace);
3 dari
javascript
const searchRegExp = /duck/gi;
const replaceWith = 'goose';
const result = 'DUCK Duck go'.replace(searchRegExp, replaceWith);
result; // => 'goose goose go'
6 adalah sebuah string, maka metode ini hanya menggantikan kejadian pertama dari
javascript
const resultingString = pieces.join(replace);
3
javascript
const search = ' ';
const replace = '-';
const result = 'duck duck go'.replace(search, replace);
console.log(result); // => 'duck-duck go'
Coba demonya
javascript
const searchRegExp = /duck/gi;
const replaceWith = 'goose';
const result = 'DUCK Duck go'.replace(searchRegExp, replaceWith);
result; // => 'goose goose go'
_8 hanya menggantikan tampilan pertama ruang
3. metode replaceAll()
Terakhir, metode
javascript
const searchRegExp = /duck/gi;
const replaceWith = 'goose';
const result = 'DUCK Duck go'.replace(searchRegExp, replaceWith);
result; // => 'goose goose go'
9 menggantikan semua tampilan
javascript
const resultingString = pieces.join(replace);
3 string dengan
javascript
const search = ' ';
const replaceWith = '-';
const result = 'duck duck go'.split(search).join(replaceWith);
console.log(result); // => 'duck-duck-go'
5
Mari ganti semua kemunculan
javascript
const resultingString = pieces.join(replace);
_5 dengan
javascript
const resultingString = pieces.join(replace);
6
javascript
const search = ' ';
const replaceWith = '-';
const result = 'duck duck go'.replaceAll(search, replaceWith);
console.log(result); // => 'duck-duck-go'
Coba demonya
javascript
const search = '+';
const searchRegExp = new RegExp(search, 'g'); // Throws SyntaxError
const replaceWith = '-';
const result = '5+2+1'.replace(searchRegExp, replaceWith);
_4 mengganti semua kemunculan string
javascript
const resultingString = pieces.join(replace);
5 dengan
javascript
const resultingString = pieces.join(replace);
6
javascript
const searchRegExp = /duck/gi;
const replaceWith = 'goose';
const result = 'DUCK Duck go'.replace(searchRegExp, replaceWith);
result; // => 'goose goose go'
_9 adalah cara terbaik untuk mengganti semua kemunculan string dalam sebuah string
Perhatikan bahwa browser untuk metode ini saat ini terbatas, dan Anda mungkin memerlukan polyfill
3. 1 Perbedaan antara replaceAll() dan replace()
Metode string
javascript
const search = '+';
const searchRegExp = new RegExp(search, 'g'); // Throws SyntaxError
const replaceWith = '-';
const result = '5+2+1'.replace(searchRegExp, replaceWith);
8 dan
javascript
const search = '+';
const searchRegExp = new RegExp(search, 'g'); // Throws SyntaxError
const replaceWith = '-';
const result = '5+2+1'.replace(searchRegExp, replaceWith);
9 bekerja dengan cara yang sama, kecuali 2 hal
- Jika
javascript
const resultingString = pieces.join(replace);
_3 argumen adalah string, javascript
const search = ' ';
const replace = '-';
const result = 'duck duck go'.replace(search, replace);
console.log(result); // => 'duck-duck go'
1 mengganti semua kemunculan javascript
const resultingString = pieces.join(replace);
3 dengan javascript
const search = ' ';
const replaceWith = '-';
const result = 'duck duck go'.split(search).join(replaceWith);
console.log(result); // => 'duck-duck-go'
5, sedangkan javascript
const search = ' ';
const replaceWith = '-';
const result = 'duck duck go'.split(search).join(replaceWith);
console.log(result); // => 'duck-duck-go'
6 hanya mengganti kemunculan pertama - Jika
javascript
const resultingString = pieces.join(replace);
3 argumen adalah ekspresi reguler non-global, maka javascript
const search = ' ';
const replace = '-';
const result = 'duck duck go'.replace(search, replace);
console.log(result); // => 'duck-duck go'
1 melontarkan pengecualian javascript
const search = ' ';
const replace = '-';
const result = 'duck duck go'.replace(search, replace);
console.log(result); // => 'duck-duck go'
7
4. Pengambilan kunci
Pendekatan pertama untuk mengganti semua kejadian adalah membagi string menjadi potongan-potongan dengan string pencarian dan kemudian menggabungkan kembali string, menempatkan string pengganti di antara potongan-potongan tersebut.
javascript
const search = ' ';
const replace = '-';
const result = 'duck duck go'.replace(search, replace);
console.log(result); // => 'duck-duck go'
8. Pendekatan ini berhasil, tetapi hacky
Pendekatan lain adalah menggunakan
javascript
const search = ' ';
const replace = '-';
const result = 'duck duck go'.replace(search, replace);
console.log(result); // => 'duck-duck go'
_9 dengan ekspresi reguler yang mengaktifkan flag global
Sayangnya, Anda tidak dapat dengan mudah membuat ekspresi reguler dari string saat runtime, karena karakter khusus ekspresi reguler harus di-escape
Terakhir, metode string
javascript
const searchRegExp = /duck/gi;
const replaceWith = 'goose';
const result = 'DUCK Duck go'.replace(searchRegExp, replaceWith);
result; // => 'goose goose go'
_9 menggantikan semua kejadian string
Saya sarankan menggunakan string. replaceAll() untuk mengganti string
Apa cara lain untuk mengganti semua kemunculan string yang Anda ketahui?
Suka postingannya?
Sarankan Perbaikan
Posting berkualitas ke kotak masuk Anda
Saya secara teratur menerbitkan posting yang berisi
- Konsep penting JavaScript dijelaskan dengan kata-kata sederhana
- Ikhtisar fitur JavaScript baru
- Cara menggunakan TypeScript dan mengetik
- Desain perangkat lunak dan praktik pengkodean yang baik
Berlangganan buletin saya untuk mengirimkannya langsung ke kotak masuk Anda
Langganan
Bergabunglah dengan 6943 pelanggan lainnya
Tentang Dmitri Pavlutin
Penulis dan pelatih teknologi. Rutinitas harian saya terdiri dari (namun tidak terbatas) minum kopi, coding, menulis, coaching, mengatasi kebosanan 😉
Bagaimana cara mengganti kemunculan karakter pertama dalam string JavaScript?
replace() adalah mengganti hanya kecocokan pertama, pengubah /g (global) memerintahkannya untuk mengganti semua kemunculan.
Bagaimana menemukan kemunculan karakter pertama dalam string JavaScript?
Metode indexOf() mengembalikan posisi kejadian pertama dari sebuah nilai dalam sebuah string. Metode indexOf() mengembalikan -1 jika nilainya tidak ditemukan. Metode indexOf() peka terhadap huruf besar-kecil.
Bagaimana Anda mengganti kemunculan pertama dari sebuah string?
replaceFirst() Mengembalikan Nilai
.
Bagaimana cara mengganti kemunculan pertama karakter dengan yang lain dalam sebuah string?
Logika untuk menggantikan kemunculan pertama dari sebuah karakter
. store it in some variable say oldChar and newChar. Di dalam loop periksa if(str[i] == oldChar). Kemudian, tukar karakter lama dengan karakter baru i. e. str[i] = newChar dan akhiri loop.