我需要做一个简单的解析,将实际的单词March(或任何月份)从保存到这样的字符串的数据中删除:" March 03 / 12/2016"。
结尾结果必须是一个字符串,如:" 03/12/2016"。
我一直在查看日期时间格式化程序,而我找不到一个简单的方法来删除一个月。我正在考虑将字符串从右到左切割成11个字符,然后只修剪其余部分,但我觉得这很邋and,可能有一个日期格式选项,我只是没有找到。
任何建议?
答案 0 :(得分:4)
这样做:
string input = "March 03/12/2016";
string output = input.Substring(input.IndexOf(' ') + 1);
答案 1 :(得分:3)
另一种方法:
string result = input.Split(' ')[1];
答案 2 :(得分:1)
假设月份名称是该月份的正确英文名称,您可以使用MMMM
提取月份名称。然后,您可以根据需要格式化日期。
var date = "March 03/12/2016";
var parsedDate = DateTime.ParseExact(date, "MMMM MM/dd/yyyy", new CultureInfo("en-US"));
Console.WriteLine(parsedDate.ToString("MM/dd/yyyy"));
请记住,如果从日期解析的月数不同,例如。 October 03/12/2016
,将抛出异常。
答案 3 :(得分:1)
string input = "March 03/12/2016";
string output;
int index = input.IndexOf(' ');
if(index >= 0) //Checks if there exists a space
{
output = input.Substring(input.IndexOf(' ') + 1);
}
您需要首先检查是否总会有空格,因为如果它不存在则会出现问题,因为input.IndexOf
没有错误处理。