Здравствуйте, мне нужно такая функция в js:
В одной переменной есть слово - Sport
В другой переменно есть часть слова - port
Можно ли сделать чтоб второе слово было выделено знаком # - например: S#port#
Я думаю это возможно сделать регуляркой, или есть что-то оптимальней ?
Не знаю, что вы подразумеваете под словом оптимальней, но можно просто text.replace(str, `#${str}#`). Правда, в отличие от регулярки - множественную замену так сделать не получится.
tags = Sport
str = S
result regex = #S#port
работает толькое если str.length = 1
такое, не работает
tags = Sport
str = port
result regex = Sport а должно S#port#
0xD34F, еще такой вопрос, можно еще изменить регулярку так, чтоб заменялось только первое вхождение, то есть пример, сейчас работает так
text = Footbal
str = o
regex result = F#o##o#tbal
Можно чтобы выделяло только первую букву "о" ?
Обратите внимаение на алгоритмы поиска разницы (diff) в тесте. Есть, например, такая библиотека https://github.com/kpdecker/jsdiff . В зависимости от того, для чего это вам может быть нужно, может быть полезно.