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?
Penerangan:
Apabila anda membelah rentetan di sekeliling aksara, gunakan panjang tatasusunan yang terhasil untuk mengira kejadian.
Memberi anda bilangan kejadian tambah 1.
Tukar rentetan kepada tatasusunan, tapis menggunakan kiraan kejadian, cantumkan kepada rentetan.