Удаление повторяющихся слов в тексте
Нужно удалять повторяющиеся слова вне зависимости от регистра. Создал такое выражение:
Код:
a=a.replace(/([^a-zА-яёЁ]|^)([a-zА-яёЁ]+) (\2)([^a-zA-ZА-яёЁ]|$)/gi,"$1"+"$2"+"$4") |
Zlyden,
Ни наю - у меня норма, хотя код кривоватый *нун создание массивов всего словарного запаса предложения и повторной проверке на совпадения var str='При при проверке были были найдены повторяющиеся слова'; alert(str.replace(/([^a-zА-яёЁ]|^)([a-zА-яёЁ]+) (\2)([^a-zA-ZА-яёЁ]|$)/gi,"$1"+"$2"+"$4")) |
var a = "При при при при при при при при проверке были были найдены повторяющиеся слова слова"; function removeRepeatedWords( str ) { var lastWord = ''; return str.replace( /([^\s]+)(\s|$)/g, function( all, w, e ){ return lastWord.toLowerCase() == w.toLowerCase() ? '' : ( lastWord = w ) + e; }); } alert( removeRepeatedWords( a ) ); |
Deff, спасибо. Оказалось, у меня предыдущий код заменял пробел на неразрывной, и из-за этого не срабатывало.
|
Часовой пояс GMT +3, время: 03:08. |