我在尝试从包含阿拉伯文字符的字符串替换参数时,一直遇到常见错误'输入字符串格式不正确 。虽然每个阿拉伯语文本都没有发生。
示例:
{تم ايداع الالية لرقم السجل {0
以下代码对上述文字失败。
string str= "{تم ايداع الالية لرقم السجل {0";
object[] subjectText = new object[] { "10112" };
str = string.Format(str, subjectText);
我知道必须有一种方法可以清理或格式化字符串,使字符串格式不会抛出异常。
答案 0 :(得分:4)
看看char[]
;该字符串实际上是:
{
然后是一大堆阿拉伯语,包括ltr / rtl,然后
} 0
要使其作为替代品,字符{0}
必须相邻并且顺序正确。
这很好用:
string str = "{0} تم ايداع الالية لرقم السجل";
(它看起来一样,但是结构非常不同;另外,你必须决定{0}
是否应该在起始ltr和末尾rtl之间。