我正在学习网络抓取。我掌握了一堆数据,但结构很乱。
我有一个这种形式的字符串向量:
"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/