假设我在R中有以下字符串:
text <- "[Peanut M&M\u0092s]"
我一直试图通过搜索和删除\u0092来使用regex擦除撇号
replaced <- gsub("\\\\u0092", "", text )
但是,上面的内容似乎不起作用,结果与原来的结果是一致的。什么是正确的方法来做这个删除?
此外,如果我想删除打开和关闭[],是更有效地做到这一切在一次或单独的行?
发布于 2015-11-07 06:27:47
可以使用带有Perl类regex的[^[:ascii:]]构造从输入中删除非ASCII代码,还可以添加另一个[][]以匹配方括号:
text <- "[Peanut M&M\u0092s]"
replaced <- gsub("[][]|[^[:ascii:]]", "", text, perl=T)
replaced
## => [1] "Peanut M&Ms"请参阅IDEONE演示
如果只计划删除\0092符号,则不需要像regex这样的Perl:
replaced <- gsub("[][\u0092]", "", text)请参阅另一个演示
注意,[...]是一个与1符号匹配的字符类,在这里,可以是]、[或\u0092。如果将]放在字符类的开头,则不需要转义。[不需要在字符类中转义(在regex和其他类型中也是如此)。
https://stackoverflow.com/questions/33577571
复制相似问题