Удаление повторяющихся слов в тексте
Нужно удалять повторяющиеся слова вне зависимости от регистра. Создал такое выражение:
Код:
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, время: 10:32. |