1.如何用正则将字符串中的"零一二三四五六七八九"分别替换成"0123456789",如"五六一"替换成"561"Regex.Replace("三二一", "([零一二三四五六七八九])", "([零一二三四五六七八九])".IndexOf("$1"), RegexOptions.IgnoreCase) //$1不能用在IndexOf中,郁闷2.看下边的正则匹配:MatchCollection matchs = Regex.Matches("五千二百一十一", "([零一二三四五六七八九])[十百千万亿]([零一二三四五六七八九])", RegexOptions.IgnoreCase);
foreach (Match match in matchs)
MessageBox.Show(match.Value);
结果是:五千二
一十一我希望的结果是:五千二
二百一
一十一怎么修改代码?
foreach (Match match in matchs)
MessageBox.Show(match.Value);
结果是:五千二
一十一我希望的结果是:五千二
二百一
一十一怎么修改代码?
解决方案 »
- 小白的DLL问题
- SelectedIndexChanged
- this.Button1.Attributes.Add("OnClick", "return window.confirm(\"确认?\");");
- SQL问题:如何过滤重复记录
- c#.net多重添加数据库的问题,DataGrid
- 如何解决!!!??
- 为什么我运行了一阵其他程序后退出按CTRL+ALT+DEL看到内存使用率就增长了?
- 如何在VC项目中增加背景音乐
- dataGridView数据更新后,让他的选中项留着原来的位置
- C#引用LumiSoft.Net.dll搜索邮件,报错“00003 BAD Missing or invalid argument to SEARCH”如何解决
- 显示word2007中的图片
- 在cs文件里如何实现打开一个新页面,效果与js的window.open()类似
int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };
string[] strings = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" }; var textNums =
from n in numbers
select strings[n];
Console.WriteLine("Number strings:");
foreach (var s in textNums) {
Console.WriteLine(s);
}
}
{
string sInput, sRegex; sInput = "六五一"; sRegex = "[零一二三四五六七八九]"; Regex r = new Regex(sRegex); MatchEvaluator myEvaluator = new MatchEvaluator(ReplaceCC); sInput = r.Replace(sInput, myEvaluator); MessageBox.Show(sInput); } public string ReplaceCC(Match m)
{
string result = string.Empty;
switch(m.Value)
{
case "零":
result ="0";
break;
case "一":
result = "1";
break;
case "二":
result = "2";
break;
case "三":
result = "3";
break;
case "四":
result = "4";
break;
case "五":
result = "5";
break;
case "六":
result = "6";
break;
case "七":
result = "7";
break;
case "八":
result = "8";
break;
case "九":
result = "9";
break;
default:
break;
}
return result;
}
private string ConvertToDigit(string ToConvert)
{
const string sBigNumeric = "零一二三四五六七八九";
const string sSmallNumeric = "0123456789";
for (Int32 I = 0; I < sBigNumeric.Length; I++)
ToConvert = ToConvert.Replace(sBigNumeric[I], sSmallNumeric[I]);
return ToConvert;
}