r - 如何从包含R中特殊字符和单词混合的字符串中提取标题

标签 r regex string extract

我有一个包含单词和字符混合的长字符串。

<h4>        <a href="/forum?id=SyBPtQfAZ">          Improving Discriminator-Generator Balance in Generative Adversarial Networks        </a>          <a href="/pdf?id=SyBPtQfAZ" class="pdf-link" title="Download PDF" target="_blank"><img src="/static/images/pdf_icon_blue.svg"/></a>              </h4>

我只需要提取标题:

Improving Discriminator-Generator Balance in Generative Adversarial Networks

我知道 R 有能力提取 2 个字符之间的单词,例如:

sub(">.*<", "", my_string)

但这显然在这里行不通,因为有很多字符混合在一起。

最佳答案

您应该在这里使用 HTML 解析器。话虽这么说,以下带有 gsub 的代码 可能 可以工作:

gsub(".*?<a href=[^>]*>\\s*(.*?)\\s*</a>.*", "\\1", input)

我说可能是因为我做了很多假设,包括标题 anchor 标记是第一个标记,并且您没有嵌套内容。实际上,您可以尝试使用 HTML/XML 解析器进行更好的控制。

Demo

关于r - 如何从包含R中特殊字符和单词混合的字符串中提取标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47256275/

相关文章:

按行 flatten_chr() 或 unlist() 将字符串转换为向量

c# - 分组匹配前一个元素零次或一次不捕获

MYSQL REGEXP 查询关键字列

python - 需要有关字符串格式的帮助

java - 错误: Cannot find symbol (java)

css - 自定义 selectInput 的背景颜色为 Shiny

r - 按不同的降序排列数字

javascript - 使用正则表达式在 Javascript 中形成一个没有前导零的数字

c - 如何正确比较 C 中的字符串?

r - 从字符串列表中创建公式