Я копирую / вставляю данные из Excel в сетку. Я пытаюсь проверить наличие символов, не относящихся к ASCII, и пытаюсь заменить их на string.Empty
.
Однако есть также поля даты, которые могут быть пустыми, иметь символы не-ASCII или иметь дату в строковом формате. Для каждого из них это дата в правильном строковом формате, тогда я хочу преобразовать ее в DateTime
. В противном случае я хочу передать string.Empty
.
Я сталкивался со случаями, когда просто "\r"
или "5/7/2019\r"
пройден, и мне нужна помощь с ними.
var dtStop = string.Empty;
string StopDate = string.Empty;
if (x.StopDate == null)
{
dtStop = string.Empty;
}
//the line below is not detecting if x.StopDate is just "\r" or if it is "6/7/2018\r"
else if (x.StopDate.Contains("[^\u0009\u000A\u000D\u0020-\u007E]"))
{
StopDate = Regex.Replace(x.StopDate ?? string.Empty, @"[^\u0009\u000A\u000D\u0020-\u007E]", string.Empty).Trim();
if (StopDate != "")
{
dtStop = Convert.ToDateTime(StopDate).ToShortDateString();
}
}
else
{
dtStop = Convert.ToDateTime(x.StopDate).ToShortDateString();
}
StopDate = dtStop;