首页 / 问答 / C#&.NET, .NET Core程序开发中如何使用正则表达式从字符串中提取时分秒呢?

C#&.NET, .NET Core程序开发中如何使用正则表达式从字符串中提取时分秒呢?

0

如题,C#&.NET, .NET Core程序开发中如何使用正则表达式从字符串中提取时分秒呢?

假设有如下的字符串:

string input = "The time is 12:34:56.";

C#编程开发,如何将时,分,秒从以上字符串中提取出来呢?

回复 [×]
提交评论
请输入评论内容

1 个回答

  • 0

    要使用正则表达式从一个字符串中提取时分秒,可以使用如下的表达式:

    (\d{2}):(\d{2}):(\d{2})
    

    这个表达式假定时间是以 HH:mm:ss 的形式出现,其中HH表示小时,mm表示分钟,ss表示秒钟。表达式中使用了三个捕获组,每个捕获组都由一对圆括号括起来。第一个捕获组匹配小时部分,第二个捕获组匹配分钟部分,第三个捕获组匹配秒部分。

    在C#中使用这个正则表达式可以通过Regex.Match()方法实现。例如:

    string input = "The time is 12:34:56.";
    Regex regex = new Regex(@"(\d{2}):(\d{2}):(\d{2})");
    Match match = regex.Match(input);
    
    if (match.Success)
    {
        string hour = match.Groups[1].Value;
        string minute = match.Groups[2].Value;
        string second = match.Groups[3].Value;
    
        Console.WriteLine("Hour: {0}, Minute: {1}, Second: {2}", hour, minute, second);
    }
    

    这个代码会在字符串中查找匹配正则表达式的部分,如果找到了,就从匹配结果中提取小时、分钟和秒,并输出它们的值。
    注意,捕获组的索引从1开始,因为索引0表示整个匹配结果。

    Rector的个人主页

    Rector

    2023-02-22 回答

    我来回答