输入是1/1/0001 12:00:00 AM。在正则表达式之后,我想要成为1/1/0001
无法使正则表达式正常工作。任何想法>
忘了发布我失败的正则表达式
([^\s]+)
顺便说一句,我正在寻找日期转换。字符串到字符串转换。以上结果分为3个单词;
答案 0 :(得分:0)
您可以在此字符串后面创建DateTime对象 - 使用内置函数,如ToShortDate()
答案 1 :(得分:0)
在您的特定情况下,RegEx将是:
^\d{1,2}/\d{1,2}/\d{2,4}
**这是一般的正则表达式字符串。你必须在C#/ JavaScript等中转义反斜杠。
这将匹配1/1/0001或01/01/0001等。 但也将匹配56/56/9999!因此,在获得日期部分后,您应该进行健全性检查。
但我更喜欢创建DateTime对象并使用DateTime的成员获取日期部分。
<强>更新强>
如果您使用([^ \ s] +),那么您将获得三个捕获组:
所以你必须提取第一个捕获组,通常是索引1:
var datePart = matchObj.Groups[1].Value // Should be "1/1/0001"
答案 2 :(得分:0)
string Date = "1/1/0001 12:00:00 AM";
string NewDate = Convert.ToDateTime(Date).ToShortDateString(); //note the output will be relate to local datetime format
string NewDate2 = Date.Substring(0, Date.IndexOf(' '));
首先将其转换为DateTime
,然后使用ToShortDateString()
返回字符串,或删除空格字符后的所有内容。
答案 3 :(得分:0)
这将是从输入中获取日期的正则表达式
"\\d{1}-\\d{1}-\\d{4}"