#javascript #jquery #duplicates
#javascript #jquery #дубликаты
Вопрос:
Я хочу удалить некоторые слова, которые начинаются с @ в предложении, которые дублируются в javascript, как я могу этого добиться.
Например:
"This is @banker does banking in a @bank, this @banker is good."
Здесь, в этом предложении, я хочу удалить из него лишнее слово «@banker».
- Как я могу это сделать в javascript?
- Учтите, что каждое слово, которое следует удалить, будет начинаться с «@»
Комментарии:
1. Сначала вы пытаетесь что-то сделать. Тогда мы поможем, если у вас возникнет проблема.
2. Я попытался разделить и смог удалить дубликаты, но все дубликаты удаляются. вот в чем проблема. Я хочу удалить дубликаты, которые начинаются только с @ .
3. Это изменит смысл предложения.
", this is good"
= хорошо, что банковское обслуживание осуществляется в банке (this = банковское дело), в то время как", this banker is good"
= сами банкиры хороши в том, что они делают (this = банкир).4. Здесь предложение является всего лишь примером.
Ответ №1:
Вот возможное решение:
const text = 'This is @banker does banking in a @bank, this @banker is good.';
const splittedWords = text.split(' ');
let newSentence = [];
splittedWords.forEach(word => {
if (word.startsWith('@')) {
if (newSentence.indexOf(word) === -1) {
newSentence.push(word);
}
} else {
newSentence.push(word);
}
});
console.log(newSentence.join(' '));
Обновить
const text = 'This is @2, this is @3, this is @2';
const splittedWords = text.split(' ');
let newSentence = [];
splittedWords.forEach(word => {
if (word.startsWith('@')) {
cleanedSentence = newSentence.map(word => word.replace(/,/g, ''));
cleanedWord = word.replace(/,/g, '');
if (cleanedSentence.indexOf(cleanedWord) === -1) {
newSentence.push(word);
}
} else {
newSentence.push(word);
}
});
console.log(newSentence.join(' '));
Комментарии:
1. Это хорошо, это работает для алфавитов, но не для чисел, например «Это @ 2, это @ 3, это @ 2», это не удаляет полный дубликат (@ 2), это просто удаляет @ из повторяющихся возвратов (2). пример для предыдущего предложения: «Это @ 2, это @ 3, это 2»
2. @RohitGowda это не проблема
type
. Проблема в том, что это разные строки (из-за запятой)@2,
и@2
. Я обновляю ответ.