如何读取字符串中的每个字符并替换为urdu字符

时间:2016-08-23 19:55:05

标签: c# string

  

这是一个完全不同的问题的不同方法,它是   不是阿拉伯语它是乌尔都语。它不是日期时间的字符串。

我想读取字符串中的每个字符并将其替换为urdu字符。

例如:

string amount = "100";

我想阅读每个字符串。

  

如果它是1,它应该用urdu字符1替换它    如果为0,则应将其替换为urdu字符0

,最终结果为100

我怎么能打破这个,我尝试使用它:

var output = "";
foreach (char c in str)
{
    if (c == 1) 
    { 
        output = "١";      
    }

    output += c;
}

我也想连接字符。

3 个答案:

答案 0 :(得分:4)

我建议使用Dictionary<char, char>替换; string.Concat用于连接:

 Dictionary<char, char> urdu = new Dictionary<char, char>() {
   {'0', '١'},
   {'1', '٠'},
   //TODO: add other pairs here
 };

 ...

 string source = "100";

 char u;

 string result = string.Concat(source.Select(c => urdu.TryGetValue(c, out u) ? u : c));

答案 1 :(得分:0)

由于c是字符,因此您的条件应为if(c == '1')&lt; - char而不是int

答案 2 :(得分:0)

而不是每次编写代码时我更喜欢使用重复替换的扩展方法调用输入字符串,就像它在How can i convert english digits to arabic digits?

完成一样