为了让 gsub 函数通过
R CMD CHECK
,我只需要使用 ASCII 字符。在我的包的一个地方,我使用了破折号,它是非 ASCII 字符,如下所示:
sub("–", "to", x = "–")
这当然有效。
但是,我想在替换中使用 ASCII(或其他)代码,以避免来自
R CMD CHECK
的警告,如下所示:
stringi::stri_enc_toascii("–")
[1] "\032"
sub("\\032", "to", x = "–")
这不起作用。
如何匹配ascii格式的字符?
这是一个en破折号:
短破折号、en规则或坚果破折号——传统上是长破折号宽度的一半。
您可以检查其Unicode表示,如下所示:
as.hexmode(utf8ToInt("–"))
# [1] "2013"
R 采用以下格式的 Unicode 转义序列:
‘u2060
u2060’具有给定代码的 Unicode 字符(1--4 十六进制数字)\unnnn
‘u2060
u2060’带有给定代码的Unicode字符(1--8十六进制数字)\Unnnnnnnn
在这种情况下,您可以使用其中任何一个,但我倾向于使用大写变体,因为我不需要担心位数。只需将其提供给
sub()
:
sub("\U2013", "to", x = "–")
# [1] "to"