我使用字典和 linq 编写了一个函数,用于将任何给定字符串中的英文数字替换为阿拉伯数字。但是该功能并没有完全替换。例如,如果英文数字是 12345,则阿拉伯数字是 12534 或阿拉伯语中的 53214。可能是什么问题?
我的功能如下,
private Dictionary<string, string> NumbersInArabic()
{
Dictionary<string, string> dictionary = new Dictionary<string, string>();
dictionary.Add("0", "٠");
dictionary.Add("1", "١");
dictionary.Add("2", "٢");
dictionary.Add("3", "٣");
dictionary.Add("4", "٤");
dictionary.Add("5", "٥");
dictionary.Add("6", "٦");
dictionary.Add("7", "٧");
dictionary.Add("8", "٨");
dictionary.Add("9", "٩");
return dictionary;
}
private string ReplaceNumberTextToArabic(string text)
{
var newstr = NumbersInArabic().Aggregate(text, (current, value) => current.Replace(value.Key, value.Value));
return newstr.ToString();
}