我正在寻找一些 RegEx 或任何其他方法将数字 0-9 转换为 ०-९ (天城文脚本)。我正在使用 asp.net,但在全球化命名空间中找不到执行此操作的任何方法。
任何帮助是极大的赞赏。
我正在寻找一些 RegEx 或任何其他方法将数字 0-9 转换为 ०-९ (天城文脚本)。我正在使用 asp.net,但在全球化命名空间中找不到执行此操作的任何方法。
任何帮助是极大的赞赏。
在这里找到类似的帖子!
我的解决方案有点不同,因为我知道源文化和目的地文化。所以我可以对数字数组进行硬编码。
string devYear = "";
string[] devD = { "०", "१", "२", "३", "४", "५", "६", "७", "८", "९" };
char[] digits = curYear.ToCharArray();
foreach (char ch in digits)
{
devYear += devD[int.Parse(ch.ToString())];
}
另一个变化是我正在迭代年份数字而不是 devD 数组。节省少量迭代,因为大多数数字将小于 10 位。就我而言,只有四位数。
希望对坚持类似路线的人有用。
每个拉丁数字 0..9 是否都映射到一个梵文数字(如果我正确理解维基百科,我确实这么认为)=
如果是,那么以下内容如何:
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
函数之前进行检查。
此外(如果这适用于梵文数字),调用以 s 而不是 s 作为参数的string.Replace()
函数重载。char
string