Показать сообщение отдельно
  #1 (permalink)  
Старый 18.09.2020, 11:08
Профессор
Отправить личное сообщение для CryNet Посмотреть профиль Найти все сообщения от CryNet
 
Регистрация: 02.01.2019
Сообщений: 151

Как вернуть найденную подстроку в строке?
В цикле перебираются элементы, из них при помощи textContent вытягивает содержимое, а мне нужно в этой строке найти подстроку и вернуть её, чтобы можно было слепить новую строку. Сейчас часть кода выглядит так, но работает не так как нужно:

option.forEach(element => {
        const text = element.textContent.replace(/\s+/g, ' ').trim() // убираем лишние пробелы
        const regexp = new RegExp(`${event.detail.value}`, 'i')
        const rez = text.replace(regexp, `<span class="-underline">${event.detail.value}</span>`)

        element.childNodes[0].remove() // удаляем текстовую ноду
        element.insertAdjacentHTML("afterbegin", rez) // вставляем span с текстом
    })


В event.detail.value находится искомая подстрока, мне в element.textContent нужно найти event.detail.value, но вернуть то, что нашлось. Использовать event.detail.value нельзя, т.к. оригинальная строка может быть "Тест", а юзер будет вводить "тЕст", в итоге получится новая строка, а должен сохраниться оригинал, т.е. "Тест", поэтому я хочу вытащить искомую подстроку в строке. Как это можно сделать?
Ответить с цитированием