gpt4 book ai didi

regex - R 正则表达式 : specifying output selections from wider string matches

转载 作者:行者123 更新时间:2023-12-02 21:45:57 24 4
gpt4 key购买 nike

适合正则表达式爱好者。我有一个格式为的字符串向量:

<TEXTFORMAT LEADING="2"><P ALIGN="LEFT"><FONT FACE="Verdana" STYLE="font-size: 10px" size="10" COLOR="#FF0000" LETTERSPACING="0" KERNING="0">Desired output string containing any symbols</FONT></P></TEXTFORMAT>

我知道 perils of parsing this sort of stuff用正则表达式。然而,了解如何有效地提取较大字符串匹配的输出子字符串(即角度引号 >...< 的内容)将很有用。字体标签。我能做的最好的事情是:

require(stringr)
strng = str_extract(strng, "<FONT.*FONT>") # select font statement
strng = str_extract(strng, ">.*<") # select inside tags
strng = str_extract(strng, "[^/</>]+") # remove angle quote symbols

在 R 中实现这一目标的最简单公式是什么?

最佳答案

使用str_match,而不是str_extract(或者也许是str_match_all)。将您想要提取匹配的部分括在括号中。

str_match(strng, "<FONT[^<>]*>([^<>]*)</FONT>")

或者解析文档并以这种方式提取内容。

library(XML)
doc <- htmlParse(strng)
fonts <- xpathSApply(doc, "//font")
sapply(fonts, function(x) as(xmlChildren(x)$text, "character"))

正如 agstudy 提到的,xpathSApply 采用函数参数,使事情变得更容易。

xpathSApply(doc, "//font", xmlValue)

关于regex - R 正则表达式 : specifying output selections from wider string matches,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19514108/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com