Ganti kemunculan karakter pertama dalam string javascript

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

  1. 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);

  1. 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

  1. 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
  2. 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

  1. 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
  2. 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

Ganti kemunculan karakter pertama dalam string javascript

Ganti kemunculan karakter pertama dalam string javascript

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.