r - 如何从r中的字符串中删除以下unicode?
问题描述
我有以下7007756484480000000<U+2660>75,648,448
要删除的字符串,7007756484480000000<U+2660>
以及我一直在尝试其他许多不同方式的逗号
,但我没有得到它。如果有人可以提供帮助,将不胜感激。
解决方案
表达一个明确的问题可能存在语言障碍,但如果我正在阅读请求,它是从该字符串中删除“7007756484480000000”和“,”。pattern
正则表达式函数的第一个参数 (the )gsub
在写入模式字符串中时将接受逻辑 OR "|"
,因此我们可以将任何此类实例替换为""
:
> x <- "700775648448000000075,648,448"
> gsub("7007756484480000000|,","",x)
[1] "75648448"
对于修改后的问题(如果这确实是字符串在 R 中显示时的样子),您可以删除直角括号和逗号之前的所有内容:
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
如果它是 R 字符向量中的“真实”Unicode 字符,它可以通过以下两种方式之一被删除,或者使用字符类机制或使用必要的双(在这种情况下是三重反斜杠),因为 R和 PCRE 共享一个转义字符(“|”):
z <- "\U2660"
z
#[1] "♠"
gsub("\\U2660","",z)
#[1] "♠"
gsub("\\U2660","",z)
#[1] "♠"
#Method 1
gsub("[\U2660]","",z)
#[1] ""
#Method 2
gsub("\\\U2660","",z)
#[1] ""
推荐阅读
- mysql - 类似于使用 mysql 数据库的 json_agg sql 查询
- r - mutate 和 case_when:错误的数字和 NA
- java - 在 java 中创建自定义 Task.WhenAll()?
- python - 列表中 Python 中的 Magic Square 错误,但在 Numpy 数组中没有
- java - 需要使用 Java 在远程服务器中共享一个 Windows 文件夹
- flutter - Dart Flutter:使非常数属性常数
- javascript - 使用默认图像代替损坏的图像 url - Js/Jquery
- ionic-framework - 错误命令失败:运行离子项目时的taskkill
- jmeter - 当控制器运行无限循环时
- php - Laravel HTML 标签不插入在线服务器