string.Format用从右到左语言连接从左到右语言的问题

时间:2011-08-24 08:05:00

标签: .net string formatting right-to-left

波斯语是一种从右到左的语言。我想向用户显示已成功保存的消息。但是,该东西(实体)的名称有时是英文,有时是波斯语。因此,我应该将一些波斯语单词与英语单词的占位符组合如下:

string.Format("مطلب {0} با موفقیت ذخیره شد", contentTitle);

现在,如果我们假设contentTitle是How to solve your problem,那么连接的字符串将是:

مطلب How to solve your problem با موفقیت ذخیره شد.

这不是我想要的。理想的结果应该是:

.با موفقیت ذخیره شد How to solve your problem مطلب

我该怎么办?似乎string.Format方法在用从右到左的语言连接从左到右的语言方面存在问题。我希望实现的内容与CSS Writing中的direction: rtl;非常相似。

1 个答案:

答案 0 :(得分:2)

字符串类对RTL一无所知,Windows有自己的规则来处理“混合内容”(即一个字符串中的rtl和ltr)......

您可以尝试LROLRE等。在这些字符串中使用Unicode“提示”以获得所需的结果 - 请参阅http://en.wikipedia.org/wiki/Bi-directional_text上的表格