R正则表达式删除unicode撇号
R regex remove unicode apostrophe
假设我在 R 中有以下字符串:
text <- "[Peanut M&M\u0092s]"
我一直在尝试使用正则表达式通过搜索和删除来删除撇号 \u0092
:
replaced <- gsub("\\u0092", "", text )
但是,上面的方法似乎不起作用,结果与原始结果在同一行。执行此删除操作的正确方法是什么?
此外,如果我想去掉开闭[]
,是一次性完成还是分行完成更有效率?
您可以使用带有类似 Perl 的正则表达式的 [^[:ascii:]]
构造来从您的输入中删除非 ASCII 代码,并且您可以添加一个替代 [][]
来匹配方括号:
text <- "[Peanut M&M\u0092s]"
replaced <- gsub("[][]|[^[:ascii:]]", "", text, perl=T)
replaced
## => [1] "Peanut M&Ms"
如果您只打算删除 [=14=]92
符号,则不需要像正则表达式这样的 Perl:
replaced <- gsub("[][\u0092]", "", text)
请注意,[...]
是匹配 1 个符号的字符 class,此处为 ]
或 [
,或 \u0092
。如果把]
放在字符class的开头,就不需要转义了。 [
不需要在字符 class 内转义(在 R 正则表达式和其他一些风格中也是如此)。
假设我在 R 中有以下字符串:
text <- "[Peanut M&M\u0092s]"
我一直在尝试使用正则表达式通过搜索和删除来删除撇号 \u0092
:
replaced <- gsub("\\u0092", "", text )
但是,上面的方法似乎不起作用,结果与原始结果在同一行。执行此删除操作的正确方法是什么?
此外,如果我想去掉开闭[]
,是一次性完成还是分行完成更有效率?
您可以使用带有类似 Perl 的正则表达式的 [^[:ascii:]]
构造来从您的输入中删除非 ASCII 代码,并且您可以添加一个替代 [][]
来匹配方括号:
text <- "[Peanut M&M\u0092s]"
replaced <- gsub("[][]|[^[:ascii:]]", "", text, perl=T)
replaced
## => [1] "Peanut M&Ms"
如果您只打算删除 [=14=]92
符号,则不需要像正则表达式这样的 Perl:
replaced <- gsub("[][\u0092]", "", text)
请注意,[...]
是匹配 1 个符号的字符 class,此处为 ]
或 [
,或 \u0092
。如果把]
放在字符class的开头,就不需要转义了。 [
不需要在字符 class 内转义(在 R 正则表达式和其他一些风格中也是如此)。