r - 替换字符串中的下标数字
问题描述
我有以下向量,我希望将下标数字(例如₆,₂)替换为“正常”数字。
vec = c("C₆H₄ClNO₂", "C₆H₆N₂O₂", "C₆H₅NO₃", "C₉H₁₀O₂", "C₈H₈O₃")
我可以查找所有下标值并单独替换它们:
gsub('₆', '6', vec)
但是正则表达式中没有模式吗?
javascript有一个类似的问题,但我无法将其翻译成R。
解决方案
Use chartr
:
Translate characters in character vectors
Solution:
chartr("₀₁₂₃₄₅₆₇₈₉", "0123456789", vec)
See the online R demo
BONUS
To normalize superscript digits use
chartr("⁰¹²³⁴⁵⁶⁷⁸⁹", "0123456789", "⁰¹²³⁴⁵⁶⁷⁸⁹")
## => [1] "0123456789"
推荐阅读
- javascript - Recharts:隐藏值未定义的栏
- c++ - 打印出高精度功率(当前以科学计数法打印值)
- java - 如何将基于浮点的图像写入文件?
- sharepoint - 如何将 Outlook 日历连接到 SharePoint?
- html - 如何在我的网站上使用 W3.org 的 SVG 图标?
- docker - 在以 root 身份在 docker 容器内执行的 perl 脚本中获取当前真实用户
- c++ - C++ 在桌面图标下方(或上方)设置窗口
- c++ - 构建文件导致的 Visual Studio 2019 调试器“无法启动程序...访问被拒绝”
- java - Android Studio 在没有 sdkmanager 的情况下安装
- javascript - 将 async/await 函数转换为 ES5 等效函数