连接左对齐字符类型和右对齐字符类型

时间:2017-07-14 15:38:54

标签: r unicode arabic bidi arabic-support

似乎字符类型的组合会对显式粘贴操作的结果顺序产生意外结果:

(x = paste(c('green','أحمر', 'أزرق'), collapse=' ')) # arabic for blue and red
#> [1] "green أحمر أزرق"
paste(x, 'yellow')
#> [1] "green أحمر أزرق yellow"
paste(x, 123)
#> [1] "green أحمر أزرق 123"

是否有任何已知的解决方案 - 即确保以与给出的参数相同的顺序连接的方法?也许答案是不连接不同的字母

1 个答案:

答案 0 :(得分:3)

您可以使用Unicode控制字符'left-to-right embedding'u202A("将以下文字视为从左到右嵌入"):

paste(x, "\u202A", 123)
# [1] "green أحمر أزرق ‭ 123"

另请参阅Terminating Explicit Directional Embeddings and Overrides,(u202C),有关UNICODE BIDIRECTIONAL ALGORITHMhere的详尽说明。

相关问题