r - 在 str_replace 中使用 ascii
问题描述
我正在开发一个 R 包,它具有替换 ü、ä 等字符的功能。如果我检查包,我会收到警告:
可移植包必须在其 R 代码中仅使用 ASCII 字符,注释中可能除外。对其他字符使用 \uxxxx 转义。
该函数包含
n <- str_replace_all(n, c('ü' = 'ue', 'ï' = 'ie', "ä" = 'ae','ö' = 'oe'))
我尝试用“\u00fc”替换ü,其他人也一样。但这不起作用。
str_replace("uüe", \\u00cf, "ue")
str_replace("uüe", *\\u00cf", "ue")
str_replace("uüe", <+u00cf>, "ue")
任何想法,如何做到这一点?
解决方案
据我所知,您正在使用 package stringr
。这确实允许使用和操作非 ASCII 字符。
例如:
vec <- "ärmlich nicht über den wolken, höchstens hïmmlisch"
设置要替换的字符串的名称setNames
:
ref <- setNames(c("ue", "ie", "ae", "oe"),
c("ü", "ï", "ä", "ö"))
将此集合输入到str_replace_all
操作中:
library(stringr)
str_replace_all(vec, ref)
[1] "aermlich nicht ueber den wolken, hoechstens hiemmlisch"
推荐阅读
- javascript - 重构的 Express 中间件给出了“无法设置未定义的属性”
- kubernetes - 如何知道服务何时创建?
- excel - 相加后单元格值变为照片
- angular - 从 Angular 6+ 客户端应用程序调用 GET ASP .NET core 2.1 Web API 不会返回任何数据
- c - while循环终止后的代码不运行
- python - Django 中 /admin/todo/todo/ 的 OperationalError
- javascript - 通过 qwest 的 REST Firebase 请求
- javascript - 如何在弹出窗口中使用 CodeIgniter 中的 Ajax/Javascript 插入数据和照片/图像?
- java - java中的注册表单
- java - 在 Jtable 中编辑单元格时获取特定列的总和