我在数据框中有一堆字符串,如下所示。如何使用javascript突出显示两个已知字符之间包含随机字符的子字符串?
v1 v2
ARSTNFGATTATNMGATGHTGNKGTEEFR SEQUENCE1
BRCTNIGATGATNLGATGHTGNQGTEEFR SEQUENCE2
ARSTNFGATTATNMGATGHTGNKGTEEFR SEQUENCE3
我想搜索和亮点在V1列中的每个字符串中的一些选定的子串。例如,在子串假设第一个字母被搜索为“N”和最后一个字母为“G”,和中间的一个可以是任何字母如“N 甲 G”或“N 乙 G”或“N ç G” 或 “N d G” 等。以突出的三个字符的子如以下所示,我写26行代码中的R闪亮标签来显示假设有可能是任何的26个字母的“Ñ”和“ģ”之间。我只是试图优化代码。我是JS新手。希望我清楚。如果不是在投票前请让我知道你是否需要更多的解释或细节。
ARST NFG ATTAT NMG ATGHTG NKG TEEFR
BRCT NIG ATGAT NLG ATGHTG NQG TEEFR
ARST NFG ATTAT NMG ATGHTG NKG TEEFR
与26线I使用这里提供的代码的有代表性的2行(第一行和最后一行)的删节代码。
datatable(DF, options = list(rowCallback=JS("function(row,data) {
data[0] = data[0].replace(/NAG/g,'<span style=\"color:blue; font-weight:bold\">NAG</span>');
.....
data[0] = data[0].replace(/NZG/g, '<span style=\"color:blue; font-weight:bold\"\">NZG</span>');
$('td:eq(0)', row).html(data[0]);}"), dom = 't'))
如何表示替换字符串? > NXG <。应该是> N [A-Za-z] G <? – RanonKahn
替换字符串替换了正则表达式匹配的所有内容,所以你必须包含N和G以及你想要的任何内容。 –