求一正式表达式的写法例原 内容如下:"CC":"421000","MM":"169"
"CC":"421001","MM":"179"
"CC":"421000","MM":"165"
"CC":"421000","MM":"161"
"CC":"421000","MM":"162"要求:
依次分析出CC后面的值,如: ("CC":"421000","MM":"169" 得到的值应为421000 )
如果正确得到了值为421000,那么如何一一到原内容中5个CC的值,并存入数组中,求高人解答
"CC":"421001","MM":"179"
"CC":"421000","MM":"165"
"CC":"421000","MM":"161"
"CC":"421000","MM":"162"要求:
依次分析出CC后面的值,如: ("CC":"421000","MM":"169" 得到的值应为421000 )
如果正确得到了值为421000,那么如何一一到原内容中5个CC的值,并存入数组中,求高人解答
解决方案 »
- 如何在C# winform中实现 实时扫描SQL SERVER 2005中某张表有数据更新?
- gridView_Coupon.FocusedRowHandle = -Int32.MaxValue;求大侠告知
- 为什么智能设备里引用的System.Net里没有WebClient类?
- 问个和虚拟方法表相关的问题
- 本命年已经发生了一件很不爽的事情
- DOTNET技术老群,T了一些不说话的人,想新加一些同志
- 音乐播放的问题(如何用最低的资源达到最佳的播放效果)
- 给我点代码实现用olecommand来添加删除数据库纪录
- !!!!!!!!!!!!@@@@@@@@@@@@@@@@@------急救!! 向 XML 文件中插入节点问题!!!!!!!!!!!!!!!
- C#测试工程师职位~!进来关注一下
- 全局变量,局部变量问题(菜鸟)
- 请教 读源代码的技巧。
using System.Collections.Generic;class Program
{
static void Main()
{
string input = @"""CC"":""421000"",""MM"":""169""
""CC"":""421001"",""MM"":""179""
""CC"":""421000"",""MM"":""165""
""CC"":""421000"",""MM"":""161""
""CC"":""421000"",""MM"":""162""";
string[] output = GetCC(input); // 这就是你要的数组
foreach (string s in output)
{
Console.WriteLine(s);
}
}
static string[] GetCC(string s)
{
List<string> l = new List<string>();
foreach (string a in s.Split('\n'))
{
l.Add(a.Split(':')[1].Split(',')[0].Trim('"'));
}
return l.ToArray();
}
}
/* 程序输出:
421000
421001
421000
421000
421000
*/
using System.Collections.Generic;class Program
{
static void Main()
{
string input = @"
""CC"":""421000"",""MM"":""169""
""CC"":""421001"",""MM"":""179""
""CC"":""421000"",""MM"":""165""
""CC"":""421000"",""MM"":""161""
""CC"":""421000"",""MM"":""162""
"; string[] output = GetCC(input); // 这就是你要的数组
foreach (string s in output)
{
Console.WriteLine(s);
}
}
static string[] GetCC(string s)
{
List<string> l = new List<string>();
foreach (string a in s.Trim().Split('\n'))
{
l.Add(a.Split(':')[1].Split(',')[0].Trim('"'));
}
return l.ToArray();
}
}
/* 程序输出:
421000
421001
421000
421000
421000
*/
我想把
l.Add(a.Split(':')[1].Split(',')[0].Trim('"'));
把这一句换成
l.Add(a.Split('CC')[1].Split(',')[0].Trim('"'));
就开始报错了,
最好用一正则来匹配,如 "CC":"*", 这是我自己想的,但是正则不对,不会玩正则.请人继续指教
using System.Collections.Generic;
using System.Text.RegularExpressions;class Program
{
static void Main()
{
string input = @"
""CC"":""421000"",""MM"":""169""
""CC"":""421001"",""MM"":""179""
""CC"":""421000"",""MM"":""165""
""CC"":""421000"",""MM"":""161""
""CC"":""421000"",""MM"":""162""
"; string[] output = GetCC(input); // 这就是你要的数组
foreach (string s in output)
{
Console.WriteLine(s);
}
}
static string[] GetCC(string s)
{
List<string> l = new List<string>();
foreach (Match m in Regex.Matches(s, @"""CC"":""([^""]*)"""))
{
l.Add(m.Groups[1].ToString());
}
return l.ToArray();
}
}
/* 程序输出:
421000
421001
421000
421000
421000
*/