解析中的特殊字符
Special character in parse
我想在 parse
中使用的文本中添加一个更大的等号。我为此使用 \u2265
。
parse(text = 'print("\u2265")')
这样,甚至 encoding = "UTF-8"
也会导致 expression(print("="))
,较大的等号是等号。我该怎么做才能保留更大的等号?
你必须加倍反斜杠:
> eval(parse(text = 'print("\u2265")'))
[1] "≥"
由于 Windows 上 R 的 Unicode 处理错误,它需要您明确指定编码:
result = parse(text = 'print("\u2265")', encoding = 'UTF-8')
这个的结果看起来不正确——例如,在我的终端上它打印
expression(print("="))
… 然而,这只是表达式打印的一个错误。实际值是正确的。您可以通过以下两种方式之一验证这一点:
提取未计算的表达式:
result[[1L]]
print("≥")
正在计算 表达式:
eval(result)
[1] "≥"
我想在 parse
中使用的文本中添加一个更大的等号。我为此使用 \u2265
。
parse(text = 'print("\u2265")')
这样,甚至 encoding = "UTF-8"
也会导致 expression(print("="))
,较大的等号是等号。我该怎么做才能保留更大的等号?
你必须加倍反斜杠:
> eval(parse(text = 'print("\u2265")'))
[1] "≥"
由于 Windows 上 R 的 Unicode 处理错误,它需要您明确指定编码:
result = parse(text = 'print("\u2265")', encoding = 'UTF-8')
这个的结果看起来不正确——例如,在我的终端上它打印
expression(print("="))
… 然而,这只是表达式打印的一个错误。实际值是正确的。您可以通过以下两种方式之一验证这一点:
提取未计算的表达式:
result[[1L]]
print("≥")
正在计算 表达式:
eval(result)
[1] "≥"