gpt4 book ai didi

javascript - LTR 和 RTL 语言中的字符串串联

转载 作者:行者123 更新时间:2023-12-03 02:41:42 27 4
gpt4 key购买 nike

我在连接包含阿拉伯字符的字符串时遇到了一些奇怪的行为,虽然我无法阅读阿拉伯文本,但看起来确实很明显发生了一些奇怪的事情,因为它似乎在重新排列文本/字符的顺序。代码未被使用。

var concat = 
"مركز صيانة الإحساء (مركز صيانة ، قطع غيار)" + "\u202a" + "مركز الصيانة"

Concat 在记录时为我提供了正确的串联,给了我 -

مركز صيانة الإحساء (مركز صيانة ، قطع غيار)‪مركز الصيانة

但如果没有 unicode,则显示为 -

مركز صيانة الإحساء (مركز صيانة ، قطع غيار) مركز الصيانة

这是不正确的

我知道阿拉伯语是从 RTL 中阅读的,这在行为中发挥着作用。根据我所读到的相关内容,我的理解是,当将 LTR 和 RTL 语言连接到一个字符串中,而不是将 RTL 与另一种 RTL 连接时,会发生此类问题。我想知道是否有人能够帮助我理解这一点?谢谢

最佳答案

but without the unicode appears as -

مركز صيانة الإحساء (مركز صيانة ، قطع غيار) مركز الصيانة

which is incorrect

(作为讲阿拉伯语和希伯来语的人):上面的字符串是连接的正确输出。由于阿拉伯语是 RTL 语言,因此连接字符串:

مركز صيانة الإحساء (مركز صيانة ، قطع غيار)

مركز الصيانة

应该返回:

مركز صيانة الإحساء (مركز صيانة ، قطع غيار) مركز الصيانة

不要让括号让你迷惑。任何 IDE 都会在字符串的侧显示最后一个括号,但它实际上位于字符串的侧(在末尾)。检查 RTL 字符串与特殊字符(如方括号、句点、逗号等)组合的最佳方法。是将字符串粘贴到记事本中,然后点击右侧ctrl + shift将文本方向更改为从右到左:

enter image description here

关于javascript - LTR 和 RTL 语言中的字符串串联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48303149/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com