@lucky4

Как написать условие для такого случая?

Мне может приходить несколько видов строк, типу таких:
1) "SW"
2) "SW3"
3) "SW1W"
4) или же "SW1W 5" и до "SW1W 5NY"

Я не могу правильно логику подстроить таким образом, что если в строке есть символ "пробел"
и есть следующий символ(как я показал в 4 варианте) - сохранять(добавлять в бд) эту строку без пробела в конце.
А в противоположном случае => (если нет пробела и нет после нее никаких еще символов) то в конце строки добавить "пробел".

Мне потом нужно ее загнать инициализатор объекта:
Postcode = dal.Country == "GB" 
                                && dal.Point1PostCode.Length < 4
                                    ? string.Concat(dal.PostCode, SpaceSymbol) 
                                    : dal.PostCode,


Возможно есть другой и проще вариант. Это мой, к которому я дошел =(
Спасибо заранее
  • Вопрос задан
  • 72 просмотра
Решения вопроса 1
@lucky4 Автор вопроса
string GetCorrected(string input)
{
    if (string.IsNullOrEmpty(input)) return input;
    int last = input.LastIndexOf(" ");
    if (last > -1 && last < input.Length-1) return input;
    else return input + " ";
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
newross
@newross
.Net разработчик, стартапер
Не знаю что задача таким образом, решается, но лучше пробелы в начале и конце строк обрезать перед сохранением в БД.

Текущую же проблему решить просто через Regexp, типа:
\w{4}\s\w+ для случая 4, \s$ для проверки наличия пробела на конце строки
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы