Bagaimana untuk menghapuskan aksara berulang tertentu dalam rentetan?
P粉354602955
P粉354602955 2024-03-31 10:50:33
0
2
477

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粉354602955
P粉354602955

membalas semua(2)
P粉416996828
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.
P粉757432491

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);
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan