2012-01-04 19 views
0

この文字列でこの2つの日付を取得するにはどうすればよいですか? 2011-08-01午後12時00分(現地時間)、2011年7月15日午後08時43分 文字列からDatetimeを取得

午後11時59 2011-08-31 TO FROM

私はこの日付が欲しい2011-08 -01 00:00 2011-08-31午前23時59

答えて

2

日1:@"(?<=FROM)\d{4}-\d{2}-\d{2} \d{2}:\d{2}"

日2:@"(?<=TO)\d{4}-\d{2}-\d{2} \d{2}:\d{2}"

1

これはそれを行うべき:

var dateRegex = @"\d{4}-\d{2}-\d{2} \d{2}:\d{2}"; 
    var regex = new Regex(@"FROM (" + dateRegex + @") TO (" + dateRegex + @") \(Local Time\) .*$"); 
    var text = @"FROM 2011-08-01 00:00 TO 2011-08-31 23:59 (Local Time) 2011-07-15 20:43"; 
    var match = regex.Match(text); 
    if (match.Success) 
    { 
     Console.WriteLine("1: " + match.Groups[1].Value.ToString()); 
     Console.WriteLine("2: " + match.Groups[2].Value.ToString()); 
    } 
1

これは(私は文字列は、常にこの形式であるという仮定を作った - ので、何のエラー処理はありません)あなたが必要なものを与える必要があります。

string text = "FROM 2011-08-01 00:00 TO 2011-08-31 23:59 (Local Time) 2011-07-15 20:43"; 

Regex r = new Regex(@"(?<=FROM)(.*?)(?=\()", 
        RegexOptions.Singleline | RegexOptions.IgnoreCase); 

string[] dates = r.Split(text).GetValue(1).ToString().Trim().Split(' '); 

string date1 = dates[0].ToString() + " " + dates[1].ToString(); 
string date2 = dates[3].ToString() + " " + dates[4].ToString(); 
関連する問題