在 javascript 中连接 RTL 字符串和 LTR 字符串
Concat RTL string with LTR string in javascript
我在将阿拉伯字符串与英文字符串连接时遇到问题,但它们的顺序被打乱了!
我尝试了 +
运算符和 str1.concat(..)
但对我没有任何作用。
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[=20=]0004-ر خ-2014.xml
您要找的角色是\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
?
我在将阿拉伯字符串与英文字符串连接时遇到问题,但它们的顺序被打乱了!
我尝试了 +
运算符和 str1.concat(..)
但对我没有任何作用。
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[=20=]0004-ر خ-2014.xml
您要找的角色是\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
?