using System; using System.Text.RegularExpressions;class Program { static void Main() { string tag = "[Date:2009/2/1,Format:yyyy-MM-dd]"; Match m = Regex.Match(tag, "(?i)date:([^,]+),format:([^\\]]+)"); if (m.Success) { // 这就是你要的: tag = DateTime.Parse(m.Groups[1].Value).ToString(m.Groups[2].Value); Console.WriteLine(tag); // 输出:2009-02-01 } } }
using System; using System.Text.RegularExpressions;class Program { static void Main() { string s = "记住[Date:2009/2/1,Format:yyyy-MM-dd]这天,另外还有[Date:2010-07-09,Format:yy.M.d]。"; string t = Regex.Replace(s, @"(?i)\[date:([^,]+),format:([^\]]+)\]", delegate(Match m) { return DateTime.Parse(m.Groups[1].Value).ToString(m.Groups[2].Value); } ); Console.WriteLine(t); // 输出:记住2009-02-01这天,另外还有10.7.9。 } }
using System.Text.RegularExpressions;class Program
{
static void Main()
{
string tag = "[Date:2009/2/1,Format:yyyy-MM-dd]";
Match m = Regex.Match(tag, "(?i)date:([^,]+),format:([^\\]]+)");
if (m.Success)
{
// 这就是你要的:
tag = DateTime.Parse(m.Groups[1].Value).ToString(m.Groups[2].Value);
Console.WriteLine(tag); // 输出:2009-02-01
}
}
}
using System.Text.RegularExpressions;class Program
{
static void Main()
{
string s = "记住[Date:2009/2/1,Format:yyyy-MM-dd]这天,另外还有[Date:2010-07-09,Format:yy.M.d]。";
string t = Regex.Replace(s, @"(?i)\[date:([^,]+),format:([^\]]+)\]",
delegate(Match m)
{
return DateTime.Parse(m.Groups[1].Value).ToString(m.Groups[2].Value);
}
);
Console.WriteLine(t); // 输出:记住2009-02-01这天,另外还有10.7.9。
}
}
正准备问你多个标记怎么办,你就把把问题解决了,太强了!!结贴了!! delegate(Match m)
{
return DateTime.Parse(m.Groups[1].Value).ToString(m.Groups[2].Value);
}
这段什么意思...没见过这种用法
using System;
using System.Text.RegularExpressions;class Program
{
static void Main()
{
string s = "有[Date:2009/2/1,Format:yyyy-MM-dd],还有[Date:2010-07-09,Format:d'/'M'/'y]";
string t = Regex.Replace(s, @"(?i)\[date:([^,]+),format:([^\]]+)\]",
m => DateTime.Parse(m.Groups[1].Value).ToString(m.Groups[2].Value)
);
Console.WriteLine(t); // 输出:有2009-02-01,还有9/7/10
}
}
http://msdn.microsoft.com/zh-cn/library/system.text.regularexpressions.regex.replace.aspx我用的是:
http://msdn.microsoft.com/zh-cn/library/ht1sxswy.aspx这里有程序例子:
http://msdn.microsoft.com/zh-cn/library/cft8645c.aspx