Нечувствительная к регистру строковая замена в JavaScript?

Мы можем использовать lead из dplyr, предполагая, что season упорядочено, как показано в примере

library(dplyr)

df1 %>%
  group_by(url) %>%
  mutate(salary = if (n() > 1) lead(salary) else salary)

#   season  url                        salary
#  <fct>   <fct>                       <int>
#1 2016-17 /players/a/abrinal01.html 5725000
#2 2017-18 /players/a/abrinal01.html      NA
#3 2008-09 /players/a/ackeral01.html  711517
#4 2012-13 /players/a/acyqu01.html    788872
#5 2013-14 /players/a/acyqu01.html    915243
#6 2014-15 /players/a/acyqu01.html        NA
51
задан 11 November 2008 в 03:07
поделиться

1 ответ

Можно улучшить Объект RegExp с функцией, которая делает выход специального символа для Вас:

RegExp.escape = function(str) 
{
  var specials = /[.*+?|()\[\]{}\\$^]/g; // .*+?|()[]{}\$^
  return str.replace(specials, "\\$&");
}

Затем Вы смогли бы использовать то, что другие предложили без любых забот:

function highlightWordsNoCase(line, word)
{
  var regex = new RegExp("(" + RegExp.escape(word) + ")", "gi");
  return line.replace(regex, "<b>$1</b>");
}
13
ответ дан 7 November 2019 в 09:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: