如何使用 javascript 突出显示包含两个已知字符之间随机字符的子字符串?
How to highlight a substring containing a random character between two known characters using javascript?
我在数据框中有一堆字符串,如下所示。
v1 v2
ARSTNFGATTATNMGATGHTGNKGTEEFR SEQUENCE1
BRCTNIGATGATNLGATGHTGNQGTEEFR SEQUENCE2
ARSTNFGATTATNMGATGHTGNKGTEEFR SEQUENCE3
我想搜索并突出显示 v1 列中每个字符串中的一些选定子字符串。例如,假设要搜索的子字符串中的第一个字母为 "N",最后一个字母为 "G",中间的字母可以是任何字母,如 "NAG" 或 "NBG" 或"NCG" 或 "NDG" 等等。为了突出显示如下所示的三个字符的子字符串,我正在编写 26 行代码以显示在 R Shiny 选项卡中,假设“N”和“之间可能有 26 个字母中的任何一个” G”。我只是想优化代码。我是 JS 的新手。希望我很清楚。如果不是在投票之前,如果您需要更多解释或详细信息,请告诉我。
ARSTNFGATTATNMGATGHTGNKGTEEFR
BRCTNIGATGATNLGATGHTGNQGTEEFR
ARSTNFGATTATNMGATGHTGNKGTEEFR
这里提供了我使用的26行代码中有代表性的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'))
我想你想要的正则表达式是:/N[A-Z]G/g
如果您还希望它适用于小写字母:/N[A-Za-z]G/g
我找到了一个简单的解决方案。可能对像我这样的人有用。
datatable(DF, options = list(rowCallback = JS("function(row,data) {
data[0] = data[0].replace(/N[A-Z]G/g,'<span style=\"color:blue; font-weight:bold\">$&</span>');
$('td:eq(0)', row).html(data[0]);}"), dom = 't'))
我在数据框中有一堆字符串,如下所示。
v1 v2
ARSTNFGATTATNMGATGHTGNKGTEEFR SEQUENCE1
BRCTNIGATGATNLGATGHTGNQGTEEFR SEQUENCE2
ARSTNFGATTATNMGATGHTGNKGTEEFR SEQUENCE3
我想搜索并突出显示 v1 列中每个字符串中的一些选定子字符串。例如,假设要搜索的子字符串中的第一个字母为 "N",最后一个字母为 "G",中间的字母可以是任何字母,如 "NAG" 或 "NBG" 或"NCG" 或 "NDG" 等等。为了突出显示如下所示的三个字符的子字符串,我正在编写 26 行代码以显示在 R Shiny 选项卡中,假设“N”和“之间可能有 26 个字母中的任何一个” G”。我只是想优化代码。我是 JS 的新手。希望我很清楚。如果不是在投票之前,如果您需要更多解释或详细信息,请告诉我。
ARSTNFGATTATNMGATGHTGNKGTEEFR
BRCTNIGATGATNLGATGHTGNQGTEEFR
ARSTNFGATTATNMGATGHTGNKGTEEFR
这里提供了我使用的26行代码中有代表性的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'))
我想你想要的正则表达式是:/N[A-Z]G/g
如果您还希望它适用于小写字母:/N[A-Za-z]G/g
我找到了一个简单的解决方案。可能对像我这样的人有用。
datatable(DF, options = list(rowCallback = JS("function(row,data) {
data[0] = data[0].replace(/N[A-Z]G/g,'<span style=\"color:blue; font-weight:bold\">$&</span>');
$('td:eq(0)', row).html(data[0]);}"), dom = 't'))