Регистронезависимое удаление повторных вхождений подстрок из строк
Добрый день!
Использую такой скрипт для удаления повторяющихся слов в строках, например из строки "лук чеснок лук редис" удаляю повторное вхождение "лук": var string = "лук чеснок лук редис"; var uniqueList=string.split(' ').filter(function(allItems,i,a){return i==a.indexOf(allItems);}).join(' '); $('#output').append(uniqueList).append('<br />'); подскажите, пожалуйста, как сделать поиск повторов регистронезависимым, т.е. чтобы из строки "лук чеснок ЛуК редис" подстрока "ЛуК" тоже была бы удалена? Спасибо! |
Переведите входную строку в нижний регистр, коли остаться должен "лук".
|
Цитата:
могут быть разные комбинации регистров, но остаться должен только один(первый) :) |
Цитата:
|
var uniqueList = string.replace(/\S+/g, (m,offset) => string.search( new RegExp(m,'i')) < offset ? '' : m); первое что пришло на ум |
Цитата:
Спасибо большое! |
user7143,
порядок слов важен? |
user7143,
если порядок слов не важен, можно так var string = "лук чеснок ЛуК редис"; var reg = /(\S+)(?![\s\S]+?\1)/gi; string = string.match(reg).join(" ").toLowerCase(); alert(string); |
Часовой пояс GMT +3, время: 02:56. |