我正在使用.Replace()替换[CITY]阿拉伯语占位符的方法。
public static void Main()
{
Console.WriteLine("Hello World");
var replace = "????????";
var input = "ABC [CITY] ????? ???????";
Console.WriteLine(input);
var final = input.Replace("[CITY]", replace);
Console.WriteLine(final);
}
Run Code Online (Sandbox Code Playgroud)
我得到以下输出
ABC [CITY] ????? ???????
ABC ???????? ????? ???????
Run Code Online (Sandbox Code Playgroud)
如您所见,在最右边添加了城市而不是放置在ABC旁边。
此问题仅适用于阿拉伯语,适用于其他语言(英语/泰语/西班牙语等)
不知道这里出了什么问题。
C#提琴-https: //dotnetfiddle.net/mvIcHt
使用这个答案:这个
\n\n我已经为此编辑了您的代码:
\n\npublic static void Main()\n{\n Console.WriteLine("Hello World");\n var replace = "\xd8\xb3\xd9\x86\xd8\xba\xd8\xa7\xd9\x81\xd9\x88\xd8\xb1\xd8\xa9";\n var input = "York Hotel \xd9\x81\xd9\x8a [CITY] \xe2\x80\x93 \xd8\xb9\xd8\xb1\xd9\x88\xd8\xb6 \xd8\xa7\xd9\x84\xd8\xba\xd8\xb1\xd9\x81\xd8\x8c \xd8\xb5\xd9\x88\xd8\xb1 \xd9\x88\xd8\xaa\xd9\x82\xd9\x8a\xd9\x8a\xd9\x85\xd8\xa7\xd8\xaa";\n Console.WriteLine(input);\n var lefttoright = ((Char)0x200E).ToString();\n var final = input.Replace("[CITY]", lefttoright + replace + lefttoright );\n Console.WriteLine(final);\n\n}\nRun Code Online (Sandbox Code Playgroud)\n\n输出是:
\n\nHello World\nYork Hotel \xd9\x81\xd9\x8a [CITY] \xe2\x80\x93 \xd8\xb9\xd8\xb1\xd9\x88\xd8\xb6 \xd8\xa7\xd9\x84\xd8\xba\xd8\xb1\xd9\x81\xd8\x8c \xd8\xb5\xd9\x88\xd8\xb1 \xd9\x88\xd8\xaa\xd9\x82\xd9\x8a\xd9\x8a\xd9\x85\xd8\xa7\xd8\xaa\nYork Hotel \xd9\x81\xd9\x8a \xe2\x80\x8e\xd8\xb3\xd9\x86\xd8\xba\xd8\xa7\xd9\x81\xd9\x88\xd8\xb1\xd8\xa9\xe2\x80\x8e \xe2\x80\x93 \xd8\xb9\xd8\xb1\xd9\x88\xd8\xb6 \xd8\xa7\xd9\x84\xd8\xba\xd8\xb1\xd9\x81\xd8\x8c \xd8\xb5\xd9\x88\xd8\xb1 \xd9\x88\xd8\xaa\xd9\x82\xd9\x8a\xd9\x8a\xd9\x85\xd8\xa7\xd8\xaa\nRun Code Online (Sandbox Code Playgroud)\n\n引用@Takarii:
\n\n\n\nChar 0x200E 是一个特殊字符,它告诉下面的文本从左到右阅读,有关该字符的更多信息请参阅此处。
\n
| 归档时间: |
|
| 查看次数: |
120 次 |
| 最近记录: |