如何从R中的字符串中删除特殊字符和数字模式

时间:2014-04-16 03:44:42

标签: regex r

我有一个字符串 "<U+7F85><U+934F><U+6DC7> <U+2730> Sascha Banks"

我想排除名称"Sacha Banks"以外的所有内容。

我表演:

name1<-c("<U+7F85><U+934F><U+6DC7> <U+2730> Sascha Banks ")
name2<-str_replace_all(name1, "[^[:alnum:]]", " ")

实际输出:" U 7F85 U 934F U 6DC7 U 2730 Sascha Banks "

预期输出:" Sascha Banks "

请纠正我。

3 个答案:

答案 0 :(得分:3)

尝试

x <- "<U+7F85><U+934F><U+6DC7> <U+2730> Sascha Banks"
gsub("(<.*>)", "", x)
## [1] " Sascha Banks"

答案 1 :(得分:1)

尝试

gsub("<[^>]*>", "", name1)
## [1] "  Sascha Banks "

答案 2 :(得分:0)

如果你不在乎学习正则表达式,这是一个非常直接的方法,可以删除所有尖括号:

library(qdap)
bracketX("<U+7F85><U+934F><U+6DC7> <U+2730> Sascha Banks", "angle")

## [1] "Sascha Banks"