Выделение подстроки в строке

193
17 ноября 2021, 05:40
let string=prompt(),stringsearch=prompt(),count=0,find,arr=[];
for(var i = 0;i<string.length;i++){
    find=string.indexOf(stringsearch, count)
    if(find==-1) {
        break;
    }
    else{
    arr.unshift(find);
    count=find+1;}}  
for (var i=0;i<arr.length;i++){
    document.querySelector('p').innerHTML=string;
    }   
    console.log(arr)
<p id='p'></p>

В первом промпте я ввожу какой либо текст , во втором символ который нужно найти в этом тексте и подсветить. Найти вот он ищет , а подсветить не выходит. Выручайте

Answer 1

Если нужно выделить только первое совпадение:

var paragraph = document.querySelector('p'); 
var string,substring; 
 
string = prompt(); 
substring = prompt(); 
 
paragraph.innerHTML = string.replace(substring, `<span>${substring}</span>`);
span { 
  color: red; 
}
<p></p>

Если нужно выделить все совпадения:

var paragraph = document.querySelector('p'); 
var string,substring; 
 
string = prompt(); 
substring = prompt(); 
 
var re = new RegExp(substring, 'g'); 
paragraph.innerHTML = string.replace(re, `<span>${substring}</span>`);
span { 
  color: red; 
}
<p></p>

READ ALSO
Что не так с количством дней?

Что не так с количством дней?

Делаю каскадный dropdown list с параметрами год, месяц, день

311
Валидация XmlDocument, используя несклько Xsd схем

Валидация XmlDocument, используя несклько Xsd схем

Имеется XmlDocument, который необходимо проверить на соответствие 1 и более Xsd схеме

254
обновление проекта c#

обновление проекта c#

Столкнулся с такой задачей по обновлению клиента приложения

139