[英]How to parse hours,minutes and seconds from a string to a TimeSpan object?
[英]How to parse a time (hours, minutes) -from a string by using regex?
我需要解析一個字符串以獲得有效時間(小時和秒)。
這是源數據的示例:
7:00-7:30
7:30-8:00
8:00-8:30
...
19:30-20:00
我只需要第一次值。 因此,對於第一行,我需要獲得“ 7:00”。 此外,小時部分可以有一個或兩位數字(7:00 / 20:00)。
有什么想法嗎?
您不需要正則表達式。 只需在-
上將其拆分,它將返回一個數組,該數組的第一個索引為0的元素將包含您想要的內容。
string date = "7:00-7:30"; bool val = date.IndexOf("-") > -1;
var splitter = val ? "-" : ":";
var arr = date.Split(splitter);
var firstpart = val ? arr[0] : arr[0] + ':' + arr[1];
您是否要使用Timespan?
var str = "7:00-7:30";
var time = TimeSpan.Parse(str.Split('-')[0]);
如果沒有,您可以使用
var hours = str.Split('-')[0].Split(':')[0];
var minutes = str.Split('-')[0].Split(':')[1];
您要查找的數據在行與行之間是不變的,因此這里真的不需要正則表達式。
您可以使用以下形式的正則表達式
^(?:1?[0-9]|2[0-3]):[0-6][0-9]
例如: http : //regex101.com/r/fM3kL7/1
var re = /^(?:1?[0-9]|2[0-3]):[0-6][0-9]/gm;
var str = '7:00-7:30\n7:30-8:00\n8:00-8:30\n...\n19:30-20:00';
var res = str.match(re);
將輸出為
7:00,7:30,8:00,19:30
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.