在JavaScript中使用LTR字符串的Concat RTL字符串 [英] Concat RTL string with LTR string in javascript
本文介绍了在JavaScript中使用LTR字符串的Concat RTL字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在将阿拉伯字符串与英文字符串连接时遇到麻烦,但他们的订单混乱!
I'm facing trouble in concatenating Arabic string with English string but their order is being messed!
我试过 +
运算符和 str1.concat(..)
但对我没什么用。
I tried +
operator and str1.concat(..)
but nothing works for me.
var a = 'english'
var b = 'أ.ب-000082-13'
var c = '000004-ر خ-2014.xml'
//var myCoolString =a + '\\' + b + '\\' + c;
var myCoolString =a.concat("\\",b,"\\",c)
document.getElementsByTagName('output')[0].innerHTML = myCoolString;
结果是这样的:english \أ.ب-000082-13 \ 000004-ر خ2014。xml
The result was like this: english\أ.ب-000082-13\000004-ر خ-2014.xml
推荐答案
您正在寻找的角色是 \ u202A
, \ u202B
和 \ u202C
The characters your are looking for are \u202A
, \u202B
and \u202C
function wrap_dir(dir, str) {
if (dir === 'rtl') return '\u202B' + str + '\u202C';
return '\u202A' + str + '\u202C';
}
wrap_dir('ltr', a) + wrap_dir('ltr', '\\') + wrap_dir('rtl', b) + wrap_dir('ltr', '\\') + wrap_dir('ltr', c);
// "english\أ.ب-000082-13\000004-ر خ-2014.xml"
不确定为什么 c
想要 LTR ,也许是因为它结束了 .xml
?
Not sure why c
wanted to be LTR, maybe because it ends .xml
?
这篇关于在JavaScript中使用LTR字符串的Concat RTL字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文