2017-07-14 3 views
13

Il semble que des combinaisons de types de caractères peuvent produire des résultats inattendus pour l'ordre résultant d'une opération de collage explicite:Concaténation types de caractères gauche et aligné à droite

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

est-il une solution connue à ce - à savoir une façon d'assurer la concaténation dans la même séquence que les arguments sont donnés? Peut-être la réponse est ne pas concaténer alphabets différents!

+0

Même en tapant 'x = paste (c ('vert', , 123, collapse = ''))' dans un éditeur de texte me pose un problème similaire. Je ne peux même pas le formater correctement ici ... – CPak

+0

Je ne suis pas sûr, mais cela est dû au fait que les nombres sont toujours encodés en LTR (de gauche à droite), donc c'est '123'. Mais dans le cas de l'arabe, il est ajouté à gauche du texte arabe - donc plus tard dans le texte arabe. – m0nhawk

Répondre