我进行了如下表所示的数据抓取,但找不到通过GSUB清理此表的解决方案。即我尝试了像这样的代码:
populous_table$Tax_GDP <- gsub("[:punct:]","",populous_table$Tax_GDP )
,但是此代码无法清除第7澳大利亚的方括号[]
。
谁能帮我吗?
1 Afghanistan 6.4
2 Albania 22.9
3 Algeria 7.7
4 Angola 5.7
5 Argentina 37.2
6 Armenia 22.0
7 Australia 34.3 [2]
8 Austria 43.4
答案 0 :(得分:1)
您可以使用
populous_table$Tax_GDP <- gsub("\\s*\\[\\d+]","", populous_table$Tax_GDP )
或者,如果该[digits]
子字符串始终位于末尾,请添加$
:
populous_table$Tax_GDP <- gsub("\\s*\\[\\d+]$", "", populous_table$Tax_GDP )
\s*
-超过0个空格\[
-一个[
字符\d+
-1个以上数字]
-一个]
字符。请参见R demo:
x <- c("1 Afghanistan 6.4", "2 Albania 22.9", "3 Algeria 7.7", "4 Angola 5.7", "5 Argentina 37.2", "Armenia 22.0", "7 Australia 34.3 [2]", "8 Austria 43.4")
gsub("\\s*\\[\\d+]", "", x)
## => [1] "1 Afghanistan 6.4" "2 Albania 22.9" "3 Algeria 7.7"
[4] "4 Angola 5.7" "5 Argentina 37.2" "Armenia 22.0"
[7] "7 Australia 34.3" "8 Austria 43.4"