修剪一个字符串以获得中间的日期?

时间:2017-01-12 06:14:17

标签: c#

我需要修剪以下字符串

Sat, 02/04/1708:00 PM

所以结果是02/04/17

我该如何做到这一点?

6 个答案:

答案 0 :(得分:1)

您可以使用Split()Substring()

var str = @"Sat, 02/04/1708:00 PM";
var res = str.Split(' ')[1].Substring(0, 8);

答案 1 :(得分:0)

 Regex rg = new Regex(@"[01]?\d[/-][0123]?\d[/-]\d{2}");
 Match m = rg.Match("Sat, 02/04/1708:00 PM");
 Console.Write(m.ToString());

<强> WORKING FIDDLE

答案 2 :(得分:0)

您可以使用子串

string str="Sat, 02/04/1708:00 PM";

string newStr=str.Substring(5,8);

答案 3 :(得分:0)

String str = @"Sat, 02/04/1708:00 PM";
String expected = str.split(' ')[1].Substring(0,8);

答案 4 :(得分:0)

你也可以这样做:

string strInput = @"Sat, 02/04/1708:00 PM";
var dateResult = strInput.Split(' ', ',')[2];

答案 5 :(得分:0)

这可能适合你。

string smdt = "Sun, 02/04/1708:00 PM";
string format = "ddd, dd/MM/yyhh:mm tt";
DateTime dt = DateTime.ParseExact(smdt, format, CultureInfo.InvariantCulture, DateTimeStyles.None);
string extractedDate = dt.ToString("dd/MM/yy");

问题的问题是日期02/04/17不是Saturday而是Sunday,因此无法转换为DateTime。当我改变Sat to Sun时。 extractedDate是您正在寻找的结果。

一个班轮答案可能是

string smdt = "Sun, 02/04/1708:00 PM";
string extractedDate = DateTime.ParseExact(
                                                smdt, 
                                                "ddd, dd/MM/yyhh:mm tt", 
                                                CultureInfo.InvariantCulture, 
                                                DateTimeStyles.None
                                           ).ToString("dd/MM/yy");