C # Проверка и удаление не-ASCII символов из поля даты строки - PullRequest
0 голосов
/ 07 июня 2019

Я копирую / вставляю данные из 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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...