gsub("(^.+>)|,", # match either a comma or (everything from start to the ">")
"", # replace with empty string
"7007756484480000000<U+2660>75,648,448") # the input
一个真正的Unicode字符看起来像这样:
z <- "\U2660"
nchar(z)
#[1] 1
# whereas you just have ordinary characters
z <- "<U+2660>"
nchar(z)
#[1] 8
1 回答
表达明显问题可能存在语言障碍,但如果我正在阅读请求,则要从该字符串中删除"7007756484480000000"以及"," . 当在模式字符串中写入
"|"
时,正则表达式函数gsub
的第一个参数(pattern
)将接受逻辑OR,因此我们可以用""
替换任何此类实例:对于修改后的问题(如果在R中显示的字符串看起来真的如此),您可以删除所有直到右括号括号和逗号的内容:
一个真正的Unicode字符看起来像这样:
如果它是R字符向量中的“真正的”Unicode字符,它可以通过两种方式之一删除,使用字符类机制或使用必要的double(在这种情况下为三次反斜杠),这是必要的,因为R和PCRE共享一个转义字符(“|”):