我有一个阿拉伯语字符串,我试图将其中的数字值更改为英文,其余部分保持不变。
这是我的字符串:
string x = "یکشنبه ۲۳ دی ۱۳۹۷ ۱۰:۳۰:۰۰"
这就是我的转换方式:
x = string.Join("", x.Select(a => a >= '۰' || a <= '۹' ? (char)(48 + a - '۰') : a));
有趣的是,应该将数字字符转换为英文的部分可以正常工作,但是返回字符本身(未修改)的部分会发生变化。此转换的结果:
←エニィヌ怒23怒ッ怒1397怒10梁30梁00
答案 0 :(得分:2)
您的情况有误-将||
更改为&&
并将۱
替换为۰
x = string.Join("", x.Select(a => a >= '۰' && a <= '۹' ? (char)(48 + a - '۰') : a));