Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk menghapuskan aksara berulang tertentu dalam rentetan?

Saya mempunyai rentetan ringkas dengan beberapa aksara berulang. Bolehkah seseorang membantu saya membetulkan ungkapan di bawah untuk mengalih keluar bukan sahaja aksara pendua tetapi semua aksara yang berlaku lebih daripada 1 kali.

console.log('aaabbxxstring'.replace(/(.)(?=.*?)/g,'')); // string

Saya menggunakan lookahead untuk menangkap watak yang sepadan dan menggantikan padanan dengan ruang. Persoalannya ialah bagaimana untuk menggantikan kumpulan penangkap itu sendiri. Atau adakah keseluruhan pendekatan tidak betul?

P粉354602955P粉354602955224 hari yang lalu462

membalas semua(2)saya akan balas

  • P粉416996828

    P粉4169968282024-04-01 09:45:52

    console.log('aaabbxxstring'.replace(/(.)+/g, '')); // string

    Penerangan:

    (.) captures a single character.
    + matches one or more occurrences of the captured character.
    /g performs a global search to replace all occurrences.

    balas
    0
  • P粉757432491

    P粉7574324912024-04-01 00:37:29

    Apabila anda membelah rentetan di sekeliling aksara, gunakan panjang tatasusunan yang terhasil untuk mengira kejadian.

    str.split(c).length

    Memberi anda bilangan kejadian tambah 1.

    Tukar rentetan kepada tatasusunan, tapis menggunakan kiraan kejadian, cantumkan kepada rentetan.

    var str = 'aaabxbxxstring';
    
    const count = (str, c) => str.split(c).length - 1
    
    str = [...str].filter(c => count(str,c) < 2).join('')
    
    console.log(str);

    balas
    0
  • Batalbalas