110,499
社区成员
发帖
与我相关
我的任务
分享
string text = "1-10:2.5,11-100:2,101-9999999:1.5";
string pattern = @"(\d+)-(\d+):(\d+)\.?(\d*)";
MatchCollection results = Regex.Matches(text, pattern);
foreach (Match match in results)
{
var split = match.Value.Split(':');
if (split.Length >= 2)
Debug.WriteLine("Key:{0}, Value:{1}", split[0], split[1]);
}
string text = "1-10:2.5,11-100:2,101-9999999:1.5";
string pattern = @"(\d+)-(\d+):(\d+)\.?(\d*)";
MatchCollection results = Regex.Matches(text, pattern);
foreach (Match match in results)
{
var split = match.Value.Split(':');
if (split.Length >= 2)
Debug.WriteLine("{0} \t {1}块", split[0], split[1]);
}
输出结果
1-10 2.5块
11-100 2块
101-9999999 1.5块
string text = @"1-10:2.5,11-100:2,101-9999999:1.5";
var m = Regex.Match(text, @"^(?<k1>\d+)\-(?<k2>\d+):(?<k3>\d+(\.\d+)?)(,(?<k1>\d+)\-(?<k2>\d+):(?<k3>\d+(\.\d+)?))*$");
if (m.Success)
{//每个Captures长度都是一致的,所以可以根据index进行一一对应
var k1 = m.Groups["k1"].Captures;
var k2 = m.Groups["k2"].Captures;
var k3 = m.Groups["k3"].Captures;
Action<CaptureCollection> act = (c) =>
{
for (var i = 0; i < c.Count; i++)
{
Console.WriteLine(c[i].Value);
}
};
Console.WriteLine("K1****************");
act(k1);
Console.WriteLine("K2****************");
act(k2);
Console.WriteLine("K3****************");
act(k3);
}
string str = "dkkdkadlgka1-10:2.5kdjsa12-100:2kdgjakakdka45-2235:3.8aksdkajgakdg";
MatchCollection results=Regex.Matches(str, @"(\d+)-(\d+):(\d+)\.?(\d*)");
foreach (Match str1 in results)
Console.WriteLine(str1.Value);
Console.ReadLine();