我正在寻找一些RegEx或任何其他方法将数字0-9转换为0-9(梵文脚本)。我正在使用asp.net但在全球化命名空间中找不到任何方法来执行此操作。
非常感谢任何帮助。
答案 0 :(得分:1)
找到了类似的帖子here!
虽然我知道源文化和目的地文化,但我的解决方案有点不同。所以我可以硬编码数字数组。
string devYear = "";
string[] devD = { "०", "१", "२", "३", "४", "५", "६", "७", "८", "९" };
char[] digits = curYear.ToCharArray();
foreach (char ch in digits)
{
devYear += devD[int.Parse(ch.ToString())];
}
另一个变化是我在迭代年份数字而不是devD数组。保存少量迭代,因为大多数数字将小于10位数。就我而言,只有四位数。
希望对于那些坚持类似路线的人有用。
答案 1 :(得分:0)
每个拉丁数字0..9是否恰好映射到devanagari digit(如果我理解维基百科,我的确如此)=
如果是,请参阅以下内容:
public static string ConvertDigits( string s )
{
return s
.Replace("0", "०")
.Replace("1", "१")
.Replace("2", "२")
.Replace("3", "३")
.Replace("4", "४")
.Replace("5", "५")
.Replace("6", "६")
.Replace("7", "७")
.Replace("8", "८")
.Replace("9", "९");
}
为了优化,您可以在调用string.IsNullOrEmpty()
函数之前检查string.Replace
。
另外(如果这适用于梵文数字),请拨打以char
为参数而不是string
s的string.Replace()
function overload。