如何从任何字符串中提取格式为hh:mm:ss.sssz的子字符串?

时间:2014-03-22 08:08:49

标签: c#

例如我有字符串(不是修复大小)

"mynewtime10:20:13.458atcertainplace"    
"hertimeatthatplace11:20:55.12nocomment"

时间是从一个字符串到另一个字符串的不同位置(索引)。

2 个答案:

答案 0 :(得分:0)

也许使用以下正则表达式?

([0-9:.]+)

您搜索的字符串位于第1组

答案 1 :(得分:0)

尝试此代码希望它能够正常工作。

    using System.Text.RegularExpressions;

    static void Main(string[] args)
    {

        string str = "mynewtime10:20:13.458atcertainplace";
        string patt = @"([0-9:.]+)";
        Regex rgx = new Regex(patt, RegexOptions.IgnoreCase);
        MatchCollection matches = rgx.Matches(str);
        if (matches.Count > 0)
        {
            Console.WriteLine("{0} ({1} matches):", str, matches.Count);
            foreach (Match match in matches)
                Console.WriteLine("   " + match.Value);
        }
            Console.ReadLine();
    }