正则表达式删除 <> 之间的所有内容

标签 r regex web-scraping gsub

我正在学习网络抓取。我掌握了一堆数据,但结构很乱。
我有一个这种形式的字符串向量:
"9,55< U+00A0>x< U+00A0>1016" , (现在我写它的时候我认为它是一种特殊的语法,因为如果不在“U”前加一个空格我就不能粘贴它) 在我抓取的网站上,它被写为“9,55*10^16”。

从长远来看,我的目标是将这个字符串变成一个数字变量,即 95500000000000000。 但首先我想删除第一个“<”和最后一个“>”之间的所有内容。 以下是我的尝试。

gsub("<(.*?)>", "", vectorOfStrings)

编辑:字符串最好在 R 中使用 "9,55\U{00A0}x\U{00A0}1016" 生成,因为“<”和“>”不是字符串中的实际文字。

最佳答案

您看到的字符是 unicode(我认为是 UTF-8),R 的表示(当它不是很清楚时)是小于/大于表示法。要删除它,一种方法是将文本“转换”为 ASCII:

iconv(vectorOfStrings, "utf-8", "ASCII", sub = "")

任何不可翻译的东西都应该被丢弃。

关于正则表达式删除 <> 之间的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43504029/

相关文章:

java - HtmlUnit vk授权

r - 匹配对的条件逻辑回归

r - 如何替换R中数据框中的值?

r - 向量上的修改时复制语义不会附加在循环中。为什么?

python - 如果不在以下脚本的 header 中硬编码 cookie,则无法生成结果

python - 使用 selenium 抓取 bet365.com 时出现的最后一个问题

r - 是否可以将多个变量传递给同一 curl curl ?

javascript - 正则表达式不匹配 6 个重复的数字

regex - Perl 程序使用引用、哈希表和 sub 来模拟限制 enzyme

python - 如何格式化正则表达式