我有以下字符串7007756484480000000<U+2660>75,648,448
我要删除7007756484480000000<U+2660>
和逗号
我一直在尝试其他人在这里显示的许多不同方式,但我没有得到。如果有人可以帮助,将不胜感激。
答案 0 :(得分:1)
表达明确问题的语言可能存在障碍,但是如果我正在阅读请求,则将从该字符串中同时删除“ 7007756484480000000”和“,”。正则表达式函数pattern
的第一个参数(gsub
)在模式字符串中以"|"
的形式写入时将接受逻辑或,因此我们可以将所有此类实例替换为{{1} }:
""
对于修改后的问题(如果确实是该字符串在R中显示时的样子),您可以使用以下命令删除所有内容,直到直角括号和逗号为止:
> x <- "700775648448000000075,648,448"
> gsub("7007756484480000000|,","",x)
[1] "75648448"
真正的Unicode字符如下所示:
gsub("(^.+>)|,", # match either a comma or (everything from start to the ">")
"", # replace with empty string
"7007756484480000000<U+2660>75,648,448") # the input
如果它是R字符向量中的“真实” Unicode字符,则可以通过两种方式之一将其删除,或者使用字符类机制,或者使用必要的双倍(在这种情况下为三倍反斜杠),从而变为必要,因为R和PCRE共享一个转义字符(“ |”):
z <- "\U2660"
nchar(z)
#[1] 1
# whereas you just have ordinary characters
z <- "<U+2660>"
nchar(z)
#[1] 8