2016-08-18 2 views
0

Я использую этотRegex, удаление повторяющихся символов, но сохраняющий, по меньшей мере, один

html = html.replace(/([^0-9]).*?\1/ , ""); 

, но это не совсем делать то, что я пытаюсь сделать. Я хочу заменить двойники внутри строки, но все равно сохраняю хотя бы одну из них. Кажется, я не могу понять, как это сделать.

+0

' "biig Badd Маан" .Привернуть (/ ([^ 0-9]) \ 1 +/г, "$ 1"); ' – dandavis

ответ

3

думаю, что вы имели в виду это,

str.replace(/(.)\1+/g, '$1') 

или

str.replace(/([^0-9])\1+/g, '$1') 
+0

Ты гений, большое спасибо! –

+1

Вы можете использовать модификатор dotall. При использовании модификатора dotall доллар должен соответствовать самому концу строки. –

+0

@AvinashRaj: Я проверил дважды, и я не вижу проблем с моим подходом. Я уверен, что '/ s' ничего не сделает, поскольку' .' не присутствует в шаблоне. Повторите попытку (http://stackoverflow.com/a/39055628/3832970). –

Смежные вопросы