我是regex和r的新手, 并尝试清除包含A列的数据框。
A
"111 222 AAA2"
"11 23 BBB1"
"101 33 CC3"
第一个空白包含两个空白,第二个空白仅包含一个, 并且弦的长度可以变化。我希望得到最后一个字,即第二个空白之后。
输出数据框将是
A
AAA2
BBB1
CC3
我将不胜感激任何帮助!
答案 0 :(得分:2)
1)read.table 使用read.table
并获取第3列:
DF <- data.frame(V1 = c("111 222 AAA2", "11 23 BBB1", "101 33 CC3"),
stringsAsFactors = FALSE)
read.table(text = DF$V1, as.is = TRUE)[[3]]
,并提供:
[1] "AAA2" "BBB1" "CC3"
2)sub 如果你真的想使用正则表达式,那么这将删除所有内容,包括最后一个空格,得到相同的结果:
sub(".* ", "", DF$V1)
以下是正则表达式的可视化:
.*
答案 1 :(得分:0)
如果我理解你的规则,这可能会有效:
x <- c("111 222 AAA2", "11 23 BBB1", "101 33 CC3")
gsub("^[^A-Z]+", "", x)
## [1] "AAA2" "BBB1" "CC3"