You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中阿拉伯文本与数值变量拼接后显示顺序倒置的问题解决咨询

解决阿拉伯文本与数字混合显示顺序倒置的问题

这个问题其实是双向文本排版的常见坑——阿拉伯语属于RTL(从右到左)语言,而数字默认是LTR(从左到右)方向,当两者混合时,系统的排版引擎会自动调整字符的显示顺序,导致数字跑到了阿拉伯文本的左侧。

要让数字稳定显示在阿拉伯文本的右侧,你可以借助Unicode的**Left-to-Right Mark(U+200E)**控制字符,它能强制后续的LTR内容(也就是你的数字)保持在RTL文本的右侧位置。

直接修改你的代码即可:

s1 = 'مرحبا بالجميع'
s2 = '1'
# 在数字前插入Left-to-Right Mark
print('{} - {}'.format(s1, '\u200E' + s2))

运行这段代码后,输出就会符合你的预期:مرحبا بالجميع - 1

原理很简单:U+200E告诉排版引擎,接下来的内容要按照从左到右的方向渲染,同时保持它在RTL文本块的右侧位置,不会被自动反转顺序。

如果你的场景里有大量类似的混合文本需要处理,也可以把这个控制字符封装成一个小工具函数,方便重复使用:

def ltr_mark(text):
    return '\u200E' + text

s1 = 'مرحبا بالجميع'
s2 = '1'
print('{} - {}'.format(s1, ltr_mark(s2)))

内容的提问来源于stack exchange,提问作者YaOo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 16:02:38