1

我正在尝试为我在 R 中的代码编写一个 html 标记工具,但我很难找到并用彩色数字替换数字。

我认为以下是正确的方向,但我不确定该怎么做:

txt <- gsub("\\<[:digit:]\\>", paste0(num.start,"\\1",num.end) , txt)

这似乎不起作用。总的来说,我希望所有不属于单词的数字都被识别并替换为改变颜色的数字之前和之后的标签,并由 num.start 和 num.end 变量定义。

例如:

num.start <- '<span style="color: #990000"><b>'
num.end   <- '</b></span>'

所以我希望能够输入 R 代码并让它在适当的时候编写 html 标签。

代码:

 txt <- "a <- 3945 ; b <- 3453*3942*a"
 gsub("\\<[:digit:]\\>", paste0(num.start,"\\1",num.end) , txt)
 [1] "a <- <span style="color: #990000"><b>3945</b></span> ; b <- <span style="color: #990000"><b>3453</b></span>*<span style="color: #990000"><b>3942</b></span>*a"

希望我可以将修改后的 R 代码复制到 html 编辑器(例如我的博客)中,并且所有数字都将进行颜色编码。

非常感谢您的帮助!弗朗西斯

4

1 回答 1

1

尽管我不建议在 HTML 中使用正则表达式,但这将完成这项工作:

gsub("(\\d+)", paste0(num.start,"\\1",num.end) , txt)

结果:

[1] "a <- <span style=\"color: #990000\"><b>3945</b></span> ; b <- <span style=\"color: #990000\"><b>3453</b></span>*<span style=\"color: #990000\"><b>3942</b></span>*a"
于 2014-01-10T08:39:00.660 回答