我希望从字符串中删除除数字、负号或小数点以外的所有字符。
我使用了
我使用了
read.xls
来导入Excel数据,其中包含一些奇怪的字符。我需要将它们转换为数字。由于不太熟悉正则表达式,因此需要一个更简单的方法来执行以下操作:excel_coords <- c(" 19.53380Ý°", " 20.02591°", "-155.91059°", "-155.8154°")
unwanted <- unique(unlist(strsplit(gsub("[0-9]|\\.|-", "", excel_coords), "")))
clean_coords <- gsub(do.call("paste", args = c(as.list(unwanted), sep="|")),
replacement = "", x = excel_coords)
> clean_coords
[1] "19.53380" "20.02591" "-155.91059" "-155.8154"
如果有人能告诉我为什么这些字符出现在我的一些数据中,那就太好了(度数符号是原始Excel工作表的一部分,但其他符号不是)。
"\\D"
替换为"[^-.0-9]"
,将"\\d+"
替换为"[-.0-9]+"
。 - G. Grothendieck