我正在进行搜索功能,我希望突出显示匹配的模式。因此,无论何种情况,我都必须在字符串中添加和附加<$>
和</$>
的所有模式。
highlight("RajkumarrAjkumarRAjkumaraj", "Ra")
# should return "<$>Ra</$>jkumar<$>rA</$>jkumar<$>RA</$>jkuma<$>ra</$>j"
highlight("RajkumarrAjkumarRAjkumaraj", "ra")
# should return "<$>Ra</$>jkumar<$>rA</$>jkumar<$>RA</$>jkuma<$>ra</$>j"
highlight("RajkumarrAjkumarRAjkumaraj", "rA")
# should return "<$>Ra</$>jkumar<$>rA</$>jkumar<$>RA</$>jkuma<$>ra</$>j"
highlight("RajkumarrAjkumarRAjkumaraj", "RA")
# should return "<$>Ra</$>jkumar<$>rA</$>jkumar<$>RA</$>jkuma<$>ra</$>j"
答案 0 :(得分:3)
您可以使用String#gsub()
。
def highlight(str, pattern)
str.gsub(/(#{Regexp.escape(pattern)})/i, "<$>$1</$>")
end
答案 1 :(得分:1)
试试这个
> "RajkumarrAjkumarRAjkumaraj".gsub(/(ra)/i, '<$>\1</$>')