Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.07.2012, 19:36
Интересующийся
Отправить личное сообщение для Zlyden Посмотреть профиль Найти все сообщения от Zlyden
 
Регистрация: 27.10.2010
Сообщений: 19

Удаление повторяющихся слов в тексте
Нужно удалять повторяющиеся слова вне зависимости от регистра. Создал такое выражение:
Код:
a=a.replace(/([^a-zА-яёЁ]|^)([a-zА-яёЁ]+) (\2)([^a-zA-ZА-яёЁ]|$)/gi,"$1"+"$2"+"$4")
Для примера "При при проверке были были найдены повторяющиеся слова" он удаляет дубликат "были", но напрочь игнорирует "При при" из-за разницы в регистре. Что делать?
Ответить с цитированием
  #2 (permalink)  
Старый 16.07.2012, 19:45
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Zlyden,
Ни наю - у меня норма, хотя код кривоватый *нун создание массивов всего словарного запаса предложения и повторной проверке на совпадения
var str='При при проверке были были найдены повторяющиеся слова';
alert(str.replace(/([^a-zА-яёЁ]|^)([a-zА-яёЁ]+) (\2)([^a-zA-ZА-яёЁ]|$)/gi,"$1"+"$2"+"$4"))
Ответить с цитированием
  #3 (permalink)  
Старый 16.07.2012, 20:03
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

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 ) );
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine

Последний раз редактировалось devote, 16.07.2012 в 20:06.
Ответить с цитированием
  #4 (permalink)  
Старый 16.07.2012, 20:52
Интересующийся
Отправить личное сообщение для Zlyden Посмотреть профиль Найти все сообщения от Zlyden
 
Регистрация: 27.10.2010
Сообщений: 19

Deff, спасибо. Оказалось, у меня предыдущий код заменял пробел на неразрывной, и из-за этого не срабатывало.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление в выделенном тексте символы и все, что между ними dimmapril Общие вопросы Javascript 0 08.04.2012 19:54
подсчёт не слов, букв Александр х@к Элементы интерфейса 8 29.08.2011 17:22
Поиск в тексте javascript jQuery 3 31.05.2011 11:40
Удаление HTML тегов в тексте GiveMeABreak Javascript под браузер 0 21.10.2009 19:25
Замена слов в тексте Dan T Общие вопросы Javascript 8 18.03.2009 12:36