【发布时间】:2015-11-25 07:48:44
【问题描述】:
有没有办法将文本中的特殊字母转换为 R 中的英文字母?例如:
Æ -> AE
Ø -> O
Å -> A
编辑:我需要这个转换的原因是 R 看不到这两个词是一样的:
stringdist('oversættelse','oversaettelse')
[1] 2
grepl('oversættelse','oversaettelse')
FALSE
有些人倾向于只使用英文字符,而有些人则不使用。为了比较一些文本,我需要将它们设为“相同格式”。
【问题讨论】:
-
这些不是特殊字母,它们是可用的正确拉丁字符。您甚至不需要 Unicode 来处理它们,它们是拉丁代码页的一部分(例如 Windows 1252)。为什么要将它们映射到不同的字符?
-
这听起来像是the XY Problem 的情况 - 对 X 有问题但询问假设的解决方案 Y。为什么您想用其他字符替换这些字符?您遇到的实际问题是什么?您是否使用过破坏文本的 R 函数?源数据是 Unicode 还是使用特定的代码页?
-
将Å转换为经典约定的AA,甚至是字母Å最初替换的字符组合不是更合适吗?
-
@AnandaMahto 为什么 R 支持 Unicode 时使用 ASCII?通过切换代码页来解决编码问题几乎是不可能的,总是还有一个错过的转换
-
@TommyA 没有经典的约定。 any 这些字符没有任何问题。事实上,当 Unicode 可用时,没有理由使用特定的代码页。
标签: r